JavaScriptは初めてですが、次の構造のオブジェクトを作成したいです
var result = {
0: {'key1' : value1,'key2' : value2 },
1: {'key3' : value3, 'key4' : value4 },
}
誰か助けてください。よろしくお願いします
JavaScriptは初めてですが、次の構造のオブジェクトを作成したいです
var result = {
0: {'key1' : value1,'key2' : value2 },
1: {'key3' : value3, 'key4' : value4 },
}
誰か助けてください。よろしくお願いします
コードも有効ですが、オブジェクトを作成します。実際の配列を使用する場合は、次のようになります。
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
}
投稿したオブジェクトは 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 }
};