Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15
Safari 16
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
concat 7598.4 Ops/sec
forEach 2881.0 Ops/sec
spread 6774.2 Ops/sec
Tests:
  • concat

    x
     
    const arr1 = Array.from({ length: 5000}).map((_, i) => i);
    const arr2 = Array.from({ length: 5000}).map((_, i) => i);
    const arr3 = Array.from({ length: 5000}).map((_, i) => i);
    const finallArr1 = arr1.concat(arr2).concat(arr3);
  • forEach

     
    const arr1 = Array.from({ length: 5000}).map((_, i) => i);
    const arr2 = Array.from({ length: 5000}).map((_, i) => i);
    const arr3 = Array.from({ length: 5000}).map((_, i) => i);
    const finalArr2 = [];
    arr1.forEach((e) => finalArr2.push(e)); 
    arr2.forEach((e) => finalArr2.push(e)); 
    arr3.forEach((e) => finalArr2.push(e)); 
  • spread

     
    const arr1 = Array.from({ length: 5000}).map((_, i) => i);
    const arr2 = Array.from({ length: 5000}).map((_, i) => i);
    const arr3 = Array.from({ length: 5000}).map((_, i) => i);
    const finalArr3 = [...arr1, ...arr2, ...arr3];