【发布时间】:2021-07-23 08:14:00
【问题描述】:
我正在尝试编写添加到购物车的逻辑,用户可以在其中将商品添加到购物车,当商品已经在购物车中时,它的数量会增加,但代码中的某些内容不正确,我无法判断什么。问题是 for 循环,据说它检查列表中所有项目的 id,如果存在,增加它的数量,但看起来它只适用于添加的第一个项目,其余的只是推送到会话存储。希望你能帮忙。代码如下:
const addToCart = (data) => {
let items = JSON.parse(sessionStorage.cartItems);
if (items.length === 0) {
data.qty = 1;
items.push(data);
sessionStorage.setItem('cartItems', JSON.stringify(items));
console.log("first");
} else {
for (let i = 0; i < items.length; i++) {
if (items[i]._id === data._id) {
items[i].qty++;
sessionStorage.setItem('cartItems', JSON.stringify(items));
console.log("second");
break;
} else if (items[i]._id !== data._id) {
data.qty = 1;
items.push(data);
sessionStorage.setItem('cartItems', JSON.stringify(items));
console.log("third");
break;
}
}
}
}
【问题讨论】:
标签: javascript reactjs