ネイティブの forEach は、小さな配列でも遅すぎる場合があることに気付きました。この例を見てください:
var a = [], b = [];
a[1234567] = 'foo';
b[10] = 'bar';
a.forEach(function(arg1, arg2) { console.log(arg1, arg2); }); //1
//vs
b.forEach(function(arg1, arg2) { console.log(arg1, arg2); }); //2
私のChromium(25.0.1364.160 Ubuntu 12.04)では、1行目と2行目の実行時間は桁違いです。a の長さは 1234568 に等しく、bの長さはちょうど 10 に等しいことを私は知っています。しかし、ネイティブの forEach 実装はそれほど素朴ですか? aとbはどちらも1 つの要素のみで構成されています。この動作はどのように説明できますか?