【发布时间】:2021-08-16 07:15:13
【问题描述】:
我正在尝试动态创建一个 JS 对象,其中包含一个数组,例如这个:
//other values omitted for clarity
"items": [
{
"name": "T-Shirt",
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
},
"quantity": "1",
"category": "PHYSICAL_GOODS"
},
{
"name": "Shoes",
"unit_amount": {
"currency_code": "USD",
"value": "45.00"
},
"quantity": "2",
"category": "PHYSICAL_GOODS"
}
],
我可以使用此代码创建单个值:
var product = {};
product.name = "T-Shirt";
product.quantity = "1";
product.category = "PHYSICAL_GOODS";
var subproduct = {};
subproduct.currency_code = "USD";
subproduct.value = "90.00";
product.unit_amount = subproduct;
var jsonString= JSON.stringify(product);
创建:
{
"name": "T-Shirt",
"unit_amount": {
"currency_code": "USD",
"value": "90.00"
},
"quantity": "1",
"category": "PHYSICAL_GOODS"
}
如何将数组中创建的值相加?我有一个onclick 事件,用于为示例中的任何给定“项目”提供值。为了清楚起见,我事先不知道数组将有多少“项目”。
【问题讨论】:
-
当您说“我正在尝试动态创建一个对象”时,您的意思是:1. 您想将对象推送到数组或 2. 使用来自的
items属性创建一个完整的主对象如果它不存在就从头开始? -
帮自己一个忙,跳过
var及其函数范围,使用let和const,而不是两者都有块范围。 -
您的问题应该是
how to add an object to an array?,您在搜索时会找到更多信息。 -
@ross-u 我的意思是根据第二个代码块创建一个新对象并将其推送到数组中,省略的“主”对象值是静态的,不需要动态创建。
标签: javascript arrays javascript-objects