Script Preparation code:
x
 
var items = Array.from(Array(1000), (_, x) => ({
    key: x,
    value1: Math.random() * 1000,
    value2: Math.random() * 1000
}));
var objContainer = {};
var arrContainer = [];
for (let i = 100; i >= 0; i--) {
    const index = Math.floor(Math.random() * 1000);
    const item = items[index];
    objContainer[item.key] = item;
    arrContainer.push(item)
}
Tests:
  • Get array of keys with value 1 between 0 and 499, and value 2 between 500 and 999 in Object

     
    var result = [];
    for (var k in objContainer) {
        if (objContainer[k].value1 >= 0 && objContainer[k].value1 <= 499 && objContainer[k].value2 >= 500 && objContainer[k].value2 <= 999) {
          result.push(k);
        }
    }
  • Get array of keys with value 1 between 0 and 499, and value 2 between 500 and 999 in Array

     
    var result = [];
    for (var item of arrContainer) {
        if (item.value1 >= 0 && item.value1 <= 499 && item.value2 >= 500 && item.value2 <= 999) {
          result.push(item.key);
        }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Get array of keys with value 1 between 0 and 499, and value 2 between 500 and 999 in Object
    Get array of keys with value 1 between 0 and 499, and value 2 between 500 and 999 in Array

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (iPhone; CPU iPhone OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Mobile/15E148 Safari/604.1
Mobile Safari 15 on iOS 15.6.1
View result in a separate tab
Test name Executions per second
Get array of keys with value 1 between 0 and 499, and value 2 between 500 and 999 in Object 30161.8 Ops/sec
Get array of keys with value 1 between 0 and 499, and value 2 between 500 and 999 in Array 2424853.0 Ops/sec