我需要生成一个格式如下的数组:
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);
但我看到下面的答案要简单得多。
最佳答案
您可以像这样设置 row2
的 product_options
:
row2.product_options = [
{
id: 87,
value: 10
}
];
解释:
product_options
是 row2
中的一个键。它的值是一个包含单个元素的数组,该元素是一个具有键 id
和 value
的对象。
关于Javascript推送到多维数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096252/