独自のスコープで for ループを実行する最速の方法を見つけようとしていました。私が比較した3つの方法は次のとおりです。
var a = "t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t".split();
// lodash .each -> 1,294,971 ops/sec
lodash.each(a, function(item) { cb(item); });
// native .forEach -> 398,167 ops/sec
a.forEach(function(item) { cb(item); });
// native for -> 1,140,382 ops/sec
var lambda = function(item) { cb(item); };
for (var ix = 0, len = a.length; ix < len; ix++) {
lambda(a[ix]);
}
これは OS X の Chrome 29 にあります。ここで自分でテストを実行できます。
lodash はネイティブの.each
ほぼ 2 倍の速さです.forEach
。さらに、プレーンよりもどのように高速for
ですか?ソーサリー?黒魔術?