在以下函数中,q
和 id
分别记录 1 和 2,但顺序等于 1
而不是 {items: [{“产品”:2,“数量”: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()
}
我该如何解决这个问题?
最佳答案
Array.push()
不返回拥有该数组的对象。它通过将新项添加到末尾来更改数组对象本身,然后返回数组的新长度。
只需调用它即可,不要将数组的长度分配给order
。
order.items.push({"product": id, "quantity": q})
order.items
现在其中有一项。
关于javascript - 推送未按预期运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44143784/