Как найти индекс с условием 2?

#javascript #node.js

Вопрос:

У меня есть 2 массива.

     Size = ['Size 0', 'Size 2', 'Size 3']

    Cart = ['1', '2', '3'] // 1, 2, 3 = product id
 

Как получить позицию массива с условием size = 'Size 0' и Cart = '2' ?

Я пытался

 let id = req.params.id; // id = product_id
let size = req.body.size; 
k = req.session.size.findIndex(function(a){
            req.session.cart.findIndex(function(c){ 
                return a == size amp;amp; c == id;
    })
});
 

но это не работает

Комментарии:

1. Пожалуйста, укажите выходное значение, которое вы ожидаете от предоставленных вами входных данных.

2. К вашему сведению, вы ничего не возвращаете из этой внутренней функции.

3. Почему вы вкладываете вызовы функций? Сначала найдите размер Size = req.session.size.findIndex(a => a === size; }); , а затем корзину Cart = req.session.cart.findIndex(c => c === is; });

Ответ №1:

У вас есть два отдельных массива, поэтому вам нужно будет вычислить два отдельных индекса — один для Size и один для Cart .

 let productId = req.params.id;
let size = req.body.size;

const sizeIndex = req.session.size.findIndex(function(testSize){
    return testSize === size;
}); // sizeIndex is valid index as long as it isn't -1

const idIndex = req.session.cart.findIndex(function(testId){
    return testId === productId;
}); // idIndex is valid index as long as it isn't -1