这是我的代码:
Cart = {
items: {
id1: { cost: 55 },
id3: { cost: 20 },
id2: { cost: 15 }
},
blah blah blah
}
现在我想用动态键和放大器为Cart.items添加值。价值,我被卡住了。
var id = 5;
Cart.items["id"+id].cost = 20;
我也在使用jquery库,所以我不确定.extend是否更适合这个。
非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
Cart.items["id"+id]
可能不存在。首先添加此检查:
if (!Cart.items.hasOwnProperty("id" + id) {
Cart.items["id" + id] = {};
}
然后,您可以在该级别随意添加键/值。
答案 1 :(得分:0)
应该是:
Cart.items["id"+id] = {cost: 20};
这是因为您必须先声明一个新对象。此时Cart.items["id"+id]
仍然未定义。