Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
Chrome 107
Mac OS X 10.15.7
Desktop
2 years ago
Test name Executions per second
Array.prototype.concat 11509047.0 Ops/sec
spread operator 31233810.0 Ops/sec
Push 35008584.0 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);