0

ここで提案されている for (arr の var キー) を使用して問題を解決したと思いましたが、これは IE で問題を引き起こします。今、私は振り出しに戻っています。

var myVariable = [];

myVariable['option-1'] = 'something';
myVariable['option-2'] = 'something else';
$.each(myVariable, function(index, value) {
  alert(index + ': ' + value);
});

うまくいきません。何も表示されません。誰かがそれを編集して機能させることはできますか?

4

5 に答える 5

4

配列の代わりにオブジェクトを使用するだけです:

var myVariable = {};
于 2013-05-01T20:17:41.557 に答える
3

に変更var myVariable = [];var myVariable = {};ます。

使用している構文myVariable['option-1'] = 'something';は、配列ではなくオブジェクト用です。

于 2013-05-01T20:17:57.113 に答える
2

myVariable配列です。使用する配列に物を追加するにはmyVariable.push('something'). 角括弧構文を使用しています。これは、通常、オブジェクトにプロパティを追加する方法です。

配列はオブジェクトであるため、引き続き にアクセスできますがoption-1、これは配列のメンバーではなく、オブジェクトのプロパティです。myVariable['option-1']; // "something"

myVariable解決策は、オブジェクトに設定することです。jQuery のeachメソッドは、期待どおりにオブジェクトのプロパティを反復処理します。

于 2013-05-01T20:17:58.253 に答える
1

jQueryは必要ありません。
ループを使用するだけです(配列for..inではなくオブジェクトを使用):{}[]

for(var index in myVariable) {
   var value = myVariable[index];
   alert(index + ': ' + value);
}
于 2013-05-01T20:17:20.117 に答える