javascript - 推送未按预期运行?

标签 javascript arrays object

在以下函数中,qid 分别记录 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/

相关文章:

javascript - PHP 未定义索引的文件上传问题

arrays - 如何将数组的项目重新排列到 Swift 中的新位置?

C++ 用余弦插值数组

javascript - 隐藏推送的属性

javascript - jquery 获取选中下拉选项的值

javascript - 为谷歌地图上的每个位置设置位置标记

javascript - platform.js 和 analytics.js 被 AdBlocker 拦截

JavaScript - 在不影响索引的情况下将元素插入数组?

javascript - 将此(对象)传递到对象方法之一嵌套方法

java - 一个对象与多个对象 - Java 或任何其他 OOP