Run details:
Mozilla/5.0 (Linux; Android 11; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36
Chrome Mobile 96
Android
Mobile
3 years ago
Test name Executions per second
Array.prototype.concat 470422.7 Ops/sec
spread operator 1788821.8 Ops/sec
Push 2529423.2 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);