てけもぐ Tech 忘備録

javascript で Array で配列を初期化した時には、使う前に fill() をかまさないといけない話

対象読者

javascript 初心者

解決すること

javascript で Array() を使って配列を初期化した後で使える様にする

内容

javascript で、例えば 5個の要素を持った配列を、 Array() で用意したい時、以下の様にすると思います。

const array = Array(5)

この直後、map() 等を使ってこの配列を使おうとしても使えません。

const newArray = array.map(a => 1)

何故ならー、配列の初期化を済ませた時のオブジェクトに実は各要素は用意されていないから..。要素数しか入っとらんっ!

以下の様に fill() してやると使える様になる。

const array = Array(5).fill(0)

こちらを参照しました。