2

このコードは明らかに JavaScript では機能しませんが、JS でこれを行うにはどうすればよいでしょうか?

コードから明らかなはずですが、配列のキー値を割り当てる必要があります (下の例では「a」、「5」、「8」)。残念ながら、文字が必要なので、0、1、2 です。などはダメです。

オブジェクトと 'a':'op1' に関連するものを見てきましたが、うまくいかないようで、" Unexpected token : " などのエラーが表示されます - 方法がわかれば簡単だと思います。

var options = new Array('a' => 'op1', '5' => 'op2', '8' => 'op3');

for(x in options) {

    var value = options[x];

    alert("the key is " + value[0]);

    alert("the value is " + value[1]);

}

jQuery またはネイティブ JS のどちらかが最適です (とにかく、そのページでは jQuery を使用しています)。

4

3 に答える 3

2

これは JavaScript オブジェクト リテラル表記です。

var options = {
"a": "op1",
"5": "op2",
"8": "op3"
};

キーの順序が保証されていないことにも注意してください。順序を特定する必要がある場合は、キーを配列に保持し、それを反復する必要があります。また、オブジェクトを繰り返し処理する場合、現在のオブジェクトのプロパティにアクセスしているかどうか、またはプロトタイプ チェーンを通過しているかどうかを確認したい場合があります。

于 2013-03-05T23:28:52.977 に答える
1
var options = {'a':'op1', '5':'op2', '8':'op3'};

for (var x in options) {
  alert("the key is " + x);
  alert("the value is " + options[x]);
}
于 2013-03-05T23:29:56.890 に答える