配列に新しい値を追加する時、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使うのが良さそう
フロントエンド開発でお困りのことはありませんか?
フロントエンドの開発支援を行っています。
・Reactの開発をお願いしたい
・コーディング作業を依頼したい
・javascriptライブラリを作って欲しい。
上記以外にも何かありましたらお気軽にお問い合わせください。