在JavaScript中创建动态对象

在JavaScript中创建动态对象,javascript,Javascript,我正在准备JSON数据以发送POST请求。我有一个类似于['2051','2052]的数组。我想将这两个ID传递到JSON对象中。以下是我所需的JSON数据: var arr=['2051','2052'] var bData={ “产品标识”:2, “购物车项目数据”: { “wc_预订_字段_持续时间”:5, “wc_预订_字段_开始日期_年份”:2021年, “wc\u预订\u字段\u开始日期\u月”:05, “wc\u预订\u字段\u开始日期\u日期”:28, “wc\u预订\u字段\

我正在准备JSON数据以发送
POST
请求。我有一个类似于
['2051','2052]
的数组。我想将这两个ID传递到JSON对象中。以下是我所需的JSON数据:

var arr=['2051','2052']
var bData={
“产品标识”:2,
“购物车项目数据”:
{
“wc_预订_字段_持续时间”:5,
“wc_预订_字段_开始日期_年份”:2021年,
“wc\u预订\u字段\u开始日期\u月”:05,
“wc\u预订\u字段\u开始日期\u日期”:28,
“wc\u预订\u字段\u开始日期\u时间”:09:00,
“wc\u预订\u字段\u开始日期\u本地时区”:“”,
“添加到购物车”:2,
“开始时间”:09:00,
“结束时间”:5,
`wc_预订_字段_人员_2051`:5,
`wc_预订_字段_人员_2052`:0,
},

}
您可以使用
bData.cart\u item\u data[“wc\u bookings\u field\u persons\u”+personStr]=5
进行动态读取


object.hello
与JavaScript中的
object['hello']
相同,您可以使用计算的属性名:
[`wc\u bookings\u field\u persons\uu${personStr}`]:5
您不能在对象文本中使用模板文本作为属性名,这会抛出
未捕获的语法错误:预期的属性名,获得了模板文字
。当我尝试你的方法时,它只显示第一个字段。不知道为什么@NickParsons不能在模板文本之外使用
${expression}
语法。哦,对不起。你应该只写personStr,那么childStr@atheshthirumalairajando呢?同样的,也就是说,bData.cart\u item\u data[“wc\u bookings\u field\u persons\u”+childStr]=0bData.cart\u item\u data[“wc\u bookings\u field\u persons\u”+personStr]=5只显示第一项。如何让他们两个都成为真正的“Atheshthirumalairajan”