#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