最適化に関する最近のスマッシングマガジンの記事を読んだ後、いくつかのテストを実行して、配列の1つの中央から要素を「削除」する最も効果的な方法を確認しました。
配列の中央から値をスプライシングするか、削除するかnullに設定するかについて独自のテストを実行した後、配列から値をスプライシングすると、配列のトラバースが1桁速くなるという予想外の結果に遭遇しました。 。
さらなる調査が私をこれに導きました。
何らかの理由で、配列の最初のレコードを.shift()すると、トラバースが300倍速くなりました(v8で見られる最大のパフォーマンスですが、試したすべてのブラウザーで有効なようです)。
実際のトラバーサルがボトルネックであるとは思わないので、これを悪用することはないと思いますが、なぜこの動作が発生するのか誰かが知っていますか?
編集: jsPerfの誤った使用は、ここでの根本的な問題でした。以下の私の答えを参照してください。