オブジェクトを使用するだけです。
var books = {book1: ['book1 title', 'book1 - title2']};
books['book2'] = ['book2 titles'];
books.book3 = [];//works, too
books.book3.push('foobar');
特定の配列を参照する変数を使用することを主張する場合、それは非常に簡単に実行できます。
var book2 = books.book2;//arrays are objects, so:
book2.push('A second title');
console.log(books.book2[1]);//logs "A second title"
簡単-簡単。動的な名前の前に、簡単な例を示します。
books['book' + someVar] = [];
正常に動作します。
@raghawが指摘したように、おそらくあなたはいくつかの説明で行うことができます:
JavaScriptは実際には連想配列をサポートしておらず、代わりにオブジェクトが使用されます(配列でさえ「pimped」オブジェクトですが、それは別の問題です)
コンストラクトを呼び出すことで(あなたが行ったように)任意のオブジェクトの新しいインスタンスを作成できますがnew X()
、ネイティブオブジェクトタイプ(ArrayやObjectなど)の場合、それは推奨されません(たとえば、動作が異なります)new Array(10);
。
そのような場合、リテラル表記が優先されます。new Array('10')
var wrong = new Object();//not "wrong", but impredictable
var better = {};//or new [whateverTypeOfObject]();
//ditto for arrays:
var dangerous = new Array();
var safe = [];
すでに存在する特定の値のセットをオブジェクト/配列に割り当てるには、次のように入力するだけです。
var myObject = {key: "value",
theValue: {can: 'be',
anything: ["even", "another", "object"]}
};
データには、ドット表記またはブラケット表記の両方を使用してアクセスできます。
console.log(myObject.theValue['can']);//be
//===
console.log(myObject.theValue.can);//be
//===
console.log(myObject["theValue"]["can"]);//be
変数をキーとして使用している場合は、角かっこ表記を使用する必要があります。MDNをチェックしてさらに情報が必要な場合は、そのサイトでしばらく時間をかけてください。これはJSの参考資料です。