javascript配列の追加処理の速度比較:push VS concat VS spread operator

javascript配列の追加処理の速度比較:push VS concat VS spread operator

LINEで送る
Pocket

配列に新しい値を追加する時、push, concat, spread operatorの3種類の方法の速度を計測してみました。

// push
for (let i; i < 1000; i++) {
  arr.push(i);
}

// concat
for (let i; i < 1000; i++) {
  arr.concat([i])
}

//spread operator
for (let i; i < 1000; i++) {
  arr = [..arr, i]
}

検証結果

50回ループした時、concatが早い

push 0.06868400052189827
concat 0.015163999050855637
spread 0.1559590008109808

 

100回ループした時、concatが早い

push: 0.08858600072562695
concat: 0.020462000742554665
spread: 0.2325849998742342

 

1000回ループした時、pushが早い

push 0.10061600059270859
concat 0.21270999871194363
spread 6.250430000945926

 

1個の追加でもconcatが最速でした。

100回ループして配列に追加することはなさそうなのでconcat使うのが良さそう

LINEで送る
Pocket

フロントエンド開発でお困りのことはありませんか?

フロントエンドの開発支援を行っています。

・Reactの開発をお願いしたい

・コーディング作業を依頼したい

・javascriptライブラリを作って欲しい。

上記以外にも何かありましたらお気軽にお問い合わせください。

コメントを残す