A little experiment to find the fastest for-loop for an object.
Approx. Results:
ARY-INDEX: “for(var i = 0″
-> 13ms
OBJ-INDEX: “for(var i = 0″
-> 218ms
OBJ-KEY: “for(var i in”
-> 975ms
var len = 1000000; // ARRAY VERSION var check = 0; var ary = []; for( var i = 0, l = len; i < l; i++ ){ ary[i] = i; } var start = new Date().getTime(); for( var i = 0, l = len; i < l; i++ ){ check+=ary[i]; } alert( new Date().getTime() - start, check ); /***********/ /* 1 object lookup per iteration */ // OBJ WITH "FOR(VAR I =" LOOKUP var check = 0; var obj = {}; for( var i = 0, l = len; i < l; i++ ){ obj[i] = i; } var start = new Date().getTime(); for( var i = 0, l = len; i < l; i++ ){ check+=obj[i]; } alert( new Date().getTime() - start, check ); /***********/ /* 2 object lookups per iteration at least */ // OBJ WITH "FOR(VAR I IN" LOOKUP var check = 0; var obj = {}; for( var i = 0, l = len; i < l; i++ ){ obj[i] = i; } var start = new Date().getTime(); for( var i in obj ){ check+=obj[i]; } alert( new Date().getTime() - start, check ); /***********/
2 Trackbacks
[...] See the rest here: Quickest Loop Through an Object – Quickest Loop Through an Object … [...]
[...] Read more here: Quickest Loop Through an Object – Quickest Loop Through an Object … [...]