Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0
Firefox 93
Windows
Desktop
3 years ago
Test name Executions per second
Array.prototype.concat 3910446.2 Ops/sec
spread operator 5284190.0 Ops/sec
Push 4938438.5 Ops/sec
Tests:
  • Array.prototype.concat

    AخA
     
    var params = [ {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {a:"hello", b:true, c:7} ];
    var other = [ {a:"hello", b:true, c:7}, {a:"hello", b:true, c:7}, {a:"hello", b:true, c:7} ].concat(params);
  • spread operator

     
    var params = [ {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {a:"hello", b:true, c:7} ];
    var other = [ {a:"hello", b:true, c:7},{a:"hello", b:true, c:7}, ...params ]
  • Push

     
    var params = [ {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {d:{a:"hello", b:true, c:7},a:"hello", b:true, c:7}, {a:"hello", b:true, c:7} ];
    var other = [ {a:"hello", b:true, c:7},{a:"hello", b:true, c:7} ].push(...params);