繁体   English   中英

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

[英]Javascript push to elements in a 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的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM