Javascript推送到多维数组中的元素

标签 javascript multidimensional-array

我需要生成一个格式如下的数组:

products : 
[
    {
        "product_id": 32,
        "quantity": 2
    },
    {
        "product_id": 33,
        "quantity": 2,
        "product_options": 
        [
            {
                "id": 87,
                "value": 10
            }
        ]
    }
]

我可以使用 product_id 和数量:

productID = 32;
prodQuantity = 2;
var row2 = {};
row2.product_id = productID;
row2.quantity = prodQuantity;
product.push(row2);

productID = 33;
prodQuantity = 2;
var row2 = {};
row2.product_id = productID;
row2.quantity = prodQuantity;
product.push(row2);

如何使用 id 和值添加元素 product_options。

我尝试过以下变体:

var row3 = {};
row3.id = 87;
row3.value = 10;    
cartArray['product_options'].push(row3);

我管理它使用:

var prodQuantity = app.getValue('popupDropdown').value;
var cartArray = [];
var optionID = app.getValue('popupDropdown4').value;
var row2 = {};
var row3 = {};
var row4 = {};
var tempArray = [];
row2.product_id = productID;
row2.quantity = prodQuantity;
cartArray.push(row2);
row3.id = optionID;
row3.value = Rule4Value;
tempArray.push(row3);
row4.product_options = tempArray;
cartArray.push(row4);

但我看到下面的答案要简单得多。

最佳答案

您可以像这样设置 row2product_options:

row2.product_options = [
    {
        id: 87,
        value: 10
    }
];

解释:

product_optionsrow2 中的一个键。它的值是一个包含单个元素的数组,该元素是一个具有键 idvalue 的对象。

关于Javascript推送到多维数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096252/

相关文章:

javascript - 使用 javascript 添加基于 json 值的动态 div 标签

java - 使用java的selenium代码中的空指针异常

javascript - 如何使用javascript execCommand创建富文本编辑器?

Swift 2 将 "contains"函数与多维数组一起使用

php - 多维数组未定义索引问题

JavaScript:如何访问多维数组?

php - 根据一列中的值对行数组进行自然排序

java - 随机定位一个 Div

javascript - grunt-contrib-watch 静默退出

java - 二维字符数组的格式化