Revision: 13557
Updated Code
at June 11, 2009 01:46 by jschilling
Updated Code
forEach = (function() { /** * USAGE * instead of: * for(var i=0, il=some.length; i<il; i++) * Use this: * forEach(object, function(i){ * i.doSomething(); * }, context); * * or this: * forEach(object, function(i){ * i.doSomething(); * }); * * @param object elementNodeList || array * @param block function * @param context inherited by the this object */ return function(object, block, context) { var len = Math.floor(object.length / 4), left = object.length % 4, i = 0; if(left > 0){ do { block.call(context, object[i++], i, object); } while (--left > 0); }; while(len-- > 0) { block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); }; }; })();
Revision: 13556
Updated Code
at May 2, 2009 18:24 by jschilling
Updated Code
forEach = (function() { /** * USAGE * instead of: * for(var i=0, il=some.length; i<il; i++) * Use this: * forEach(object, function(i) * i.doSomething; * ), context}; * * @param object elementNodeList * @param block function * @param context inherited by the this object */ return function(object, block, context) { var len = Math.floor(object.length / 4), left = object.length % 4, i = 0; if(left > 0){ do { block.call(context, object[i++], i, object); } while (--left > 0); }; while(len-- > 0) { block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); }; }; })();
Revision: 13555
Updated Code
at April 28, 2009 17:59 by jschilling
Updated Code
var forEach = function(object, block, context) { /** * USAGE * instead of: * for(var i=0, il=some.length; i<il; i++) * Use this: * forEach(object, function(o) * o.doSomething; * ), context}; * * @param object elementNodeList * @param block function * @param context inherited by the this object */ var len = Math.floor(object.length / 4), left = object.length % 4, i = 0; if(left > 0){ do { block.call(context, object[i++], i, object); } while (--left > 0); } while(len-- > 0) { block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); } };
Revision: 13554
Updated Code
at April 28, 2009 17:57 by jschilling
Updated Code
var forEach = function(object, block, context) { /** * USAGE * instead of: * for(var i=0, il=some.length; i<il; i++) * Use this: * forEach(object, function(o) * o.doSomething; * ), thisArg}; * * @param object elementNodeList * @param block function * @param context inherited by the this object */ var len = Math.floor(object.length / 4), left = object.length % 4, i = 0; if(left > 0){ do { block.call(context, object[i++], i, object); } while (--left > 0); } while(len-- > 0) { block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); } };
Revision: 13553
Updated Code
at April 28, 2009 17:56 by jschilling
Updated Code
var forEach = function(object, block, context) { /** * USAGE * instead of: * for(var i=0, il=<some.length; i<il; i++) * Use this: * forEach(object, function(o) * o.doSomething; * ), thisArg}; * * @param object elementNodeList * @param block function * @param context inherited by the this object */ var len = Math.floor(object.length / 4), left = object.length % 4, i = 0; if(left > 0){ do { block.call(context, object[i++], i, object); } while (--left > 0); } while(len-- > 0) { block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); } };
Revision: 13552
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 27, 2009 15:42 by jschilling
Initial Code
var forEach = function(object, block, context) { /** * Usage: * forEach(object, function(o) * o.doSomething; * ), thisArg}; * @object elementNodeList * @block function * @context inherited by the this object */ var len = Math.floor(object.length / 4), left = object.length % 4, i = 0; if(left > 0){ do { block.call(context, object[i++], i, object); } while (--left > 0); } while(len-- > 0) { block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); block.call(context, object[i++], i, object); } };
Initial URL
http://www.six-degrees.com/six-degrees.html
Initial Description
hope you enjoy - thanks to Tom Duff (for implementation in C), Dean Edwards, and Nicholas Zakas for the idea
Initial Title
forEach function - fastest loop iteration
Initial Tags
array
Initial Language
JavaScript