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

时间:2014-04-15 23:19:28

标签: 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);

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

1 个答案:

答案 0 :(得分:5)

您可以像这样设置product_options的{​​{1}}:

row2

解释:

row2.product_options = [ { id: 87, value: 10 } ]; product_options中的关键字。它的值是一个包含单个元素的数组,该元素是具有键row2id的对象。