Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
Chrome 111
Windows
Desktop
2 years ago
Test name Executions per second
MAP 141.3 Ops/sec
ARRAY_WITH_NO_LENGTH 63.4 Ops/sec
MAP_HOW_ARRAY_METHOD 83.9 Ops/sec
Script Preparation code:
x
 
function map(arr, callback) {
    const _length = arr.length;
    const result = new Array(_length);
    for (let i = 0; i < _length; i++) {
        result[i] = callback(arr[i], i, arr);
    }
    return result;
}
function arrayWithNoLength(arr, callback) {
    const result = [];
    for (let i = 0; i < arr.length; i++) {
        result.push(callback(arr[i], i, arr));
    }
    return result;
}
function mapHowArrayMethod(arr, callback) {
    return arr.map(callback);
}
Tests:
  • MAP

     
    map(new Array(1000000).fill(1000), (num) => num * 2);
  • ARRAY_WITH_NO_LENGTH

     
    arrayWithNoLength(new Array(1000000).fill(1000), (num) => num * 2);
  • MAP_HOW_ARRAY_METHOD

     
    mapHowArrayMethod(new Array(1000000).fill(1000), (num) => num * 2);