Итак, я пытаюсь проверить существование недавно перенесенного объекта массива. Я разрабатываю веб-приложение с помощью angularJS.Проверка существования объекта массива
У меня есть массив, который определяется как
vm.data.detail
Так у меня есть форма, которая позволила пользователю Cr модуля. Модуль содержит информацию о запасе продукта. В моем угловом контроллере есть кнопка, которая будет запускать функцию addProduct().
функция addProduct:
function addProduct() {
//to check whether the array is empty.
if (vm.data.detail.length == 0) {
vm.data.detail.push({
product: vm.data.product_id.selected,
current_qty: vm.data.product_id.selected.qty,
new_qty: Number(vm.data.product_id.selected.qty) - Number(1),
difference: Number(vm.data.product_id.selected.qty) - (Number(vm.data.product_id.selected.qty) - Number(1)),
remarks: ''
});
console.log("Product just been added");
}
//if the array is not empty
else {
for (var i = 0; i < vm.data.detail.length; i++) {
//to check whether the selected product is already inside the array
if (vm.data.product_id.selected.name == vm.data.detail[i].product.name) {
console.log("same product selected");
//data
}
//if there is no selected product inside the array, then add it
else {
console.log("different product has just been selected");
vm.data.detail.push({
product: vm.data.product_id.selected,
current_qty: vm.data.product_id.selected.qty,
new_qty: 0,
difference: 0,
remarks: ''
});
}
}
}
}
Приведенный выше код работает хорошо, когда массив состоит лишь из одного продукта. Проблема возникает, когда я пытаюсь добавить в продукт другое изделие B. Вот условие:
- Продукт A уже находится внутри массива.
- Продукт B выбран, а затем добавлен в массив. Теперь массив состоит из двух продуктов.
- Когда я тестирую, чтобы добавить новый продукт B, я не знаю, почему массив все еще нажат на новый продукт B. Итак, теперь массив состоит из 3 продуктов (1 продукт A и 2 продукта B) ,
То, что я хотел есть, когда я пытаюсь добавить второй продукт В, массив не будет выталкивается новым продуктом B.
Что я здесь отсутствует? Имели дело с ним часами и не могли понять, что я должен добавить для «проверки».
Обратите внимание: объект, нажавший на массив, уже является правильным. Я просто не знаю, как поставить if if. Похоже, внутри логики все еще не хватает чего-то, но я не мог понять, чего не хватает
Большое вам спасибо за предоставленную помощь.
Я не вижу PHP, так почему тег? – RiggsFolly
Извините за мой плохой сэр, я сделал это неправильно! – Vinfoster0701
выглядит намного сложнее, чем нужно. Нужно посмотреть, как это используется. – charlietfl