3
私は、このセットアップがあるとします。連想配列の連想配列上のforeachの実行
var whatever = new Array();
whatever["a"] = new Array();
whatever["a"]["a"] = "test1";
whatever["a"]["b"] = "test2";
whatever["b"] = new Array();
whatever["b"]["a"] = "test3";
whatever["b"]["b"] = "test4";
を、私はそれを反復処理しようとすると:
$.each(whatever, function(key, value) {
$.each(value, function(subkey, subvalue) {
//stuff with key, subkey, and subvalue here
});
});
しかし、反復は失敗し、ネストされたをコメントアウトforeachループはページを読み込むことができるので、問題がどこにあるかが分かります。最初のループ内
、私のような何かを行うことができます。
alert(value["a"]);
をし、「有効」のアレイのようですので、適切な値を受け取ります。ネストされたループは基本的に外側のループと同じなので、どこが間違っていますか?
正確にどのようなあなたはこれをやろうとしていますか?ほとんどの場合、オブジェクトはネストされた配列よりも優れています。 – elclanrs
Javascript配列は決して結合的ではなく、文字列をキーとして持つことはできません。 Javascript配列は数値的に索引付けされます。あなたが探しているのは、キー値ストアであるオブジェクトです。 – deceze
@deceze javascript配列は数値文字列をキーとする単なるオブジェクトであり、オブジェクトを使用する方が良いと言われています。 – Esailija