Почему не работает счетчик?
Получается так что у каждого продукта одинаковое количество
const counterProduct = (item) => {
const basketLocalStorage = JSON.parse(localStorage.getItem('basket'));
let counterProduct = 1;
basketLocalStorage.find((item) => {
counterProduct++
})
return counterProduct;
}
arrBasketProducts.forEach((item) => {
let counter = counterProduct(item);
createBasketCard(item, productContainer,counter)
})
const createBasketCard = (item, parent,counter) => {
const productCard = document.createElement(`div`);
productCard.classList.add(`productBasket__item`);
productCard.innerHTML = `
<div class="productBasket__img-container" data-id=${item.id}>
<img src="${item.img}" alt="" class="productBasket__img">
</div>
<div class="productBasket__content" data-id=${item.id}>
<h3 class="productBasket__title">
${item.name}
</h3>
<p class="productBasket__counter-container">
<span class="productBasket__counter-title">Количество:</span>
<span class="productBasket__counter-counter" id="counter">${counter}</span>
</p>
<p class="productBasket__price">
${item.price} грн
</p>
<div class="productBasket__buttons">
<button class="productBasket__btnDelete btn btn--black" id="basketDeleteItemBtn" data-id="${item.id}">Убрать из корзины</button>
</div>
`;
parent.appendChild(productCard);
}
"basketArr": [
{
"id": 11,
"name": "Опасная Бритва The Bluebeards Revenge «Claymore» Straight Razor 5/8",
"price":"5778",
"descriptions": "Классическая бритва со сверх-острым лезвиem",
"brand": "Claymore",
"img":"https://barbercompany.com/image/cache/webp/catalog/product/2016-06-the-bluedeards- revange-claymore-straight-razor-543x543.webp"
},
{
"id": 12,
"name": "Дорожный Набор Для Бритья Edwin Jagger Ejlt2M3",
"price":"4188",
"descriptions":"Дорожный набор для бритья от Edwin Jagger.",
"brand": "Edwin Jagger",
"img":"https://barbercompany.com/image/cache/webp/catalog/product/2015-11-294-543x543.webp"
},
]
Ответы (1 шт):
Автор решения: Ihor Stoner
→ Ссылка
const counterProduct = (item) => {
const basketLocalStorage = JSON.parse(localStorage.getItem('basket'));
let counterProduct = 0;
basketLocalStorage.forEach((product) => {
if(item.id === product.id) {
counterProduct++;
}
})
return counterProduct ;
}