1

複数の文字列を使用して同じことをしたいと思います。私はこのようにしたい:

names = ["NOTE", "REPLICA", "HINT", "VIEW"];
for (name in names) {
    name = names[name];
    //do stuff
}

それから私はこれを読みました。まだ大丈夫ですか?

4

2 に答える 2

1

数値を使用して配列を通過することをお勧めします。

var i = 0;
for(i=0;i<names.length;i++){
 ...
}

リンク先の記事では、Array.prototype または Object.prototype のものを含む他のオブジェクト プロパティfor ... inは、それを使用しない別の理由で表示されると既に述べています。

for ... inその記事では、配列の長さが大きいが、設定されているアイテムが2、3しかない場合に高速になるエッジケースについて言及しています。その場合、プロパティが数値であるかどうかを使用for ... inして確認できると思います。hasOwnProperty

var stuff, index;
stuff = [];
stuff[0] = "zero";
stuff[9999] = "nine thousand nine hundred and ninety-nine";
stuff.name = "foo";
for (index in stuff)
{
    if (stuff.hasOwnProperty(index) && String(Number(index)) === index) {
        console.log("stuff[" + index + "] = " + stuff[index]);
    }
}
于 2013-07-17T00:27:25.113 に答える