0

JavaScriptは初めてですが、次の構造のオブジェクトを作成したいです

var result = {
         0: {'key1' : value1,'key2' : value2 },
         1: {'key3' : value3, 'key4' : value4 },
}

誰か助けてください。よろしくお願いします

4

3 に答える 3

8

コードも有効ですが、オブジェクトを作成します。実際の配列を使用する場合は、次のようになります。

var result = [
         {'key1' : value1, 'key2' : value2 },
         {'key3' : value3, 'key4' : value4 }
    ];

{}外側のブラケットが からに変更され[]、最上位のキーが削除されていることに注意してください。

編集

このような配列を動的に作成するには、次のようなものを使用できます。

var result = []; // init empty array

result.push( {'key1' : value1, 'key2' : value2 } ); // insert a value

for( var i=0; i<10; i++ ) {
  result.push( {'key1' : i, 'key2' : i } ); // insert some more values in a loop
}
于 2013-11-15T09:37:50.693 に答える
4

投稿したオブジェクトは JS マップ オブジェクトです。

var result = {
         0: {'key1' : value1,'key2' : value2 },
         1: {'key3' : value3, 'key4' : value4 }
}

連想配列にアクセスするようにアクセスできます。

result[0][key1]

またはこのように

result[0].key1

オブジェクトの配列が必要な場合

  var result = [
  {'key1' : value1,'key2' : value2 },
  {'key3' : value3, 'key4' : value4 }
];

前の例のようにアクセスできます。この場合、インデックスを宣言する必要はありません。

更新しました:

マップ オブジェクトの作成には、@Sirko が投稿したようなループを使用することもできます。唯一の違いは、次の 2 つの方法で実行できる値の割り当てにあります。

var result  = {};
result[0] = {'key1' : value1,'key2' : value2 };
result.myOtherObj = {'key1' : value1,'key2' : value2 };

マップの内容は同じです

var result = {
  0: {'key1' : value1,'key2' : value2 },
  myOtherObj: {'key1' : value1,'key2' : value2 }
};
于 2013-11-15T09:43:43.197 に答える