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 に答える