[英]javascript: Building an object inside an object and adding key/value pairs to it
我从全局 scope 中的空 object 开始,然后在我想添加价格和数量的时候获取一个 ID。 该脚本遍历一个列表,对于存在 ID 的每一行,我希望添加quantity: price
我希望我的 object 看起来像这样:
const obj = {
id1: {
qty1: price
qty2: price
qty3: price
qty4: price
qty5: price
qty6: price
qty7: price
}
id2: {
qty1: price
qty2: price
qty3: price
qty4: price
qty5: price
qty6: price
qty7: price
}
}
目前我只得到一个价格,因为每次运行都会替换另一个。
const obj = {}
obj[id] = { [qty]: price }
// Result
obj: {
id: {
qty: price
}
}
你总是可以传播
const obj = {}
obj[id] = {...obj[id], qty: price }
您必须创建一个新的 object 只有在还没有的情况下
if (!obj[id]) obj[id] = {}
if (!obj[id][qty]) obj[id][qty] = {}
我添加了一个循环来展示它是如何工作的:
const ids = ['id1', 'id2'] const qtys = ['qty1', 'qty2'] const price = 1 const obj = {} for (const id of ids) { for (const qty of qtys) { if (.obj[id]) obj[id] = {} if (.obj[id][qty]) obj[id][qty] = {} obj[id][qty] = Math.random() * 100 | 0 } } console.log(obj)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.