【发布时间】:2018-09-12 12:29:39
【问题描述】:
我在 localStorage 中存储了一个购物车。如果我点击一个新产品,我想将它添加到购物车中。如果我再次点击相同的产品,我想添加数量以避免重复输入。
我想遍历对象并检查对象的“id”属性是否与发送给函数的“Id”参数匹配。如果是这样,我想更新该对象的“数量”,否则创建一个新对象并添加到“购物车”。现在我正在循环检查每个属性是否与“Id”-param 匹配。
这是物体上的样子:
{id:Id, qty: Qty, price: Price}
这是函数:
handleAdd =(Id, Qty, Price) =>{
var newCart=[]
var cart = JSON.parse(window.localStorage.getItem('Cart'))
if(cart !== null){
for(var x in cart)
{
if(x.id === Id){
x.qty = Number(x.qty) + Number(Qty)
}
else{
var item = {id:Id, qty: Qty, price: Price}
newCart.push(item)
}
}
}else{
newCart= {id:Id, qty: Qty, price: Price}
}
window.localStorage.setItem('Cart', JSON.stringify(newCart))
}
【问题讨论】:
标签: javascript reactjs loops local-storage