次の方法でアクセスできるアレイを作成したいという状況があります。
myArray['Foo'].push(myObj);
しかし、私はそれを最初から作成する方法を知りません。私が読んだことから、多分次のことがそれをするだろうと思いました:
var myArray = new Array(new Array());
問題は、myArray[]を参照するために整数しか使用できないことです。この制限を無視して次のエラーを試してみると、.push()がないというエラーが表示されます。
myArray[i].push(myObj);
これは、myArray [i]が文字列を返しているためだと思いますか?
だから私の質問は、文字列を使用して最初の次元を参照し、次に2番目の次元をプッシュしてポップできる動的配列を構築するにはどうすればよいですか?また、このアプローチを採用した場合、最初の次元に文字列を追加するためにプッシュとポップを使用できますか?
私はこれについてもう少し前に考えて、うまくいくかもしれないと思ったコードを書きました。
var myArray = new Object();
var myObj = new Object();
var myObj2 = new Object();
var myObj3 = new Object();
myObj.name = "Harry";
myObj2.name = "Curly";
myObj3.name = "Moe";
myArray["first"] = new Array()
myArray["first"].push(myObj);
myArray["first"].push(myObj2);
myArray["first"].push(myObj3);
myArray["second"] = new Array()
myArray["second"].push(myObj2);
myArray["third"] = new Array()
myArray["third"].push(myObj3);
iterate(myArray, "first");
iterate(myArray, "second");
iterate(myArray, "third");
function iterate(array, name) {
for(i = 0, l = myArray[name].length; i < l; i++) {
console.log(" " + name + ": " + i + " value " + myArray[name][i].name);
}
}
上記はそれについて行く正しい方法ですか?
上記の用語に問題があると確信しています。お知らせください。正しくなるように編集します。