1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScriptで配列をループする最速の方法は何ですか?

2022-03-30 20:24:03

質問

本でforループはこう書けというのを知りました。

for(var i=0, len=arr.length; i < len; i++){
    // blah blah
}

ということで arr.length は毎回計算されることはありません。

また、これに対してコンパイラが最適化を行うので、そのまま書けばいいという人もいます。

for(var i=0; i < arr.length; i++){
    // blah blah
}

実際のところ、どれが一番いい方法なのか知りたいんです。

どのように解決するのですか?

ほとんどのモダンブラウザでこのテストを実行した後。 https://jsben.ch/wY5fo

現在 は、ループの最も速い形式です(そして、私の意見では、最も構文的に明白です)。

長さをキャッシュする標準的なfor-loop

    var i = 0, len = myArray.length;
    while (i < len) {
        // your code
        i++
    }

これは間違いなく、JavaScriptエンジンの開発者に拍手を送るべきケースだと思います。ランタイムは 巧妙さではなく、明確さ .