0

这是我的代码:

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 是否更适合这个。

任何帮助将不胜感激,谢谢!

4

2 回答 2

1

Cart.items["id"+id]可能不存在。首先添加此检查:

if (!Cart.items.hasOwnProperty("id" + id) {
   Cart.items["id" + id] = {};
}

然后,您可以在该级别随意添加键/值。

于 2013-01-29T23:57:36.823 回答
0

它应该是:

Cart.items["id"+id] = {cost: 20};

这是因为您必须先声明一个新对象。Cart.items["id"+id]此时仍未定义。

于 2013-01-29T23:57:01.737 回答