2017-05-23 34 views
0

分別爲以下函數,qid分別爲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() 
} 

我該如何解決這個問題?

回答

3

Array.push()不返回擁有該數組的對象。它通過將新項目添加到結尾來更改數組對象本身,然後它返回數組的新長度。

只要調用它,不要指定數組的長度爲order

order.items.push({"product": id, "quantity": q}) 

order.items現在有一個項目。

0

刪除分配order = order.items.push({"product": id, "quantity": q})

只是做order.items.push({"product": id, "quantity": q})