我为我的购物车做了一个数组,其中的产品有标签、价格、incart、名称,我想用下面的代码来改变它们。
function setItems(product)
{
let cartItems = localStorage.getItem('productsInCart');
cartItems = JSON.parse(cartItems);
console.log("My cartItems are", cartItems);
if (cartItems != null)
{
if (cartItems[product.tag] == undefined)
{
cartItems =
{
...cartItems,
[product.tag]: product
}
}
cartItems[product.tag].incart += 1;
}
else
{
product.incart = 1;
cartItems =
{
[product.tag]: product
}
}
product.tag可能没有定义,请检查你调用setItems()的地方。
if (cartItems[product.tag] == undefined) {
cartItems = {
...cartItems,
[product.tag]: product
}
}
为了更好的代码,请改成这样
if (!cartItems[product.tag]) {
cartItems[product.tag] = product;
}