for vs each, hash vs array

JavaScript performance comparison

Test case created

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
  var hash = {
   key1: 'value1',
   key2: 'value2',
   key3: 'value3'
  };
  var array = [
   {
   key: 'key1',
   value: 'value1'},
  {
   key: 'key2',
   value: 'value2'},
  {
   key: 'key3',
   value: 'value3'}];
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
hash -> for
for (key in hash) {
 var a1 = key;
 var a2 = hash[key];
}
pending…
hash -> each
$.each(hash, function(key, value) {
 var a1 = key;
 var a2 = value;
});
pending…
array -> for
for (var i = 0; i < array.length; i++) {
 var a1 = array[i].key;
 var a2 = array[i].value;
}
pending…
array -> each
$.each(array, function(index, item) {
 var a1 = item.key;
 var a2 = item.value;
});
pending…

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers

0 comments

Add a comment