написал функцию которая принимает id нового товара и заносит её в корзину которая лежит в local srorage. Когда кликаешь по одному товару то всё работает как нужно, увеличивается counter и все ок. НО когда добавляешь ещё один товар то вместе с увеличение count добавляется ещё один товар. Не могу понять с чем связано уже голову сломал. Код
// Получаем данные из LocalStorage
function getCartData() {
return JSON.parse(localStorage.getItem('cart'));
}
// Записываем данные в LocalStorage
function setCartData(o) {
localStorage.setItem('cart', JSON.stringify(o));
}
// Добавляем товар в корзину
function addItemToBag(newItem) {
var cartData = getCartData() || []; // получаем данные корзины или создаём новый объект, если данных еще нет
if(cartData.length==0){ // если в массиве ничего не лежит создаем нулевой элемент
cartData.push({
id: newItem,
count: 1
});
}else{
for (let i = 0; i < cartData.length; i++) { //цикл в котором проверяем не лежит ли уже товар с таким id корзине
if (cartData[i].id === newItem) { // если лежит то увеличиваем count
cartData[i].count+=1;
} else { //если нет то добавляем новый
cartData.push({
id: newItem,
count: 1
});
}
}
}
setCartData(cartData) // Обновляем данные в LocalStorage
}
Скрин что выводит в local storage
var cartData = getCartData() || [];
var oldItem = null;
for (let i = 0; i < cartData.length; i++) {
if (cartData[i].id === newItem) {
oldItem = cartData[i];
break;
}
}
if (oldItem) {
oldItem.count = oldItem.count + 1;
} else {
cartData.push({
id: newItem,
count: 1
});
}
setCartData(cartData);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть четыре компонента: Post, PostMaker, CommentSection и CommentFormPost включает в себя как раз вызов всех трех
ЗдраствуйтеПытаюсь сделать обработчик который будет создавать масив разделов в зависимости от того есть ли для него ресурсы или нет
в js объекте без имени есть свойстваКак сделать так что бы одно свойство зависело от другого