在以下函数中,q
和id
分别记录了1和2,但顺序等于1
而不是{items: [{"product": 2, "quantity": 1}]}
。
function addToCart(id) {
q = $('.shopify-buy__quantity').val();
console.log("q: " + q)
console.log("id: " + id)
var order = {items: []}
order = order.items.push({"product": id, "quantity": q})
console.log('order: ' + order)
order = JSON.stringify(order)
storage.setItem('domehaOrder', order)
updateCart()
}
我该如何解决这个问题?
答案 0 :(得分:3)
Array.push()
不返回拥有该数组的对象。它通过将新项添加到末尾来更改数组对象本身,然后返回数组的新长度。
只需调用它,不要将数组的长度分配给order
。
order.items.push({"product": id, "quantity": q})
order.items
现在有一个项目。
答案 1 :(得分:0)
删除作业order = order.items.push({"product": id, "quantity": q})
只需order.items.push({"product": id, "quantity": q})