0
for i in [name, matches_total, matches_won, matches_lost]:
    doSomething(i)

JSでこれをやってみましたが、うまくいきませんでした。基本的に、各変数に対して必要なことは何でも実行したいと考えています。JSでこれを行うにはどうすればよいですか?

私の試み:

for (i in [name, matches_total, matches_won, matches_lost]){
    doSomething(i);
}
4

3 に答える 3

3

inJavaScript にはまったく同じ演算子はありません。をサポートする環境にいる場合はforEach、スタイルが比較的似ています (ただし、ループの内部匿名関数を定義する点が異なります。これは、Python のように少し似ています) lambda

[name, matches_total, matches_won, matches_lost].forEach(function(i) {
    doSomething(i);
});

この場合 (各リスト項目で単一の関数を呼び出す場合)、構文的に非常に優れている方法でこれを単純化できます。

[name, matches_total, matches_won, matches_lost].forEach(doSomething);
于 2012-12-30T23:17:09.580 に答える
1
for (var i = 0; i < list.length; ++i) {
    doSomething(list[i]);
}

for-infor ループには、オブジェクト用に設計されたループと 3 ステートメントの for ループの 2 種類がありますfor (;;)for-inプロトタイプチェーンもトラバースするため、配列での使用はお勧めしません。

于 2012-12-30T23:13:27.677 に答える
0
var my_array = [name, matches_total, matches_won, matches_lost]

for (var i in my_array){
    doSomething(my_array[i]);
}
于 2012-12-31T00:24:07.180 に答える