😊
Javascriptでたくさんデータの入った大きな配列を作成する
背景
何度かやっているけど、毎回忘れてしまうためここに備忘録を書いておきます。
結論
最初に結論を書いておきますので、後半は気になる人が読んでください。
# {num:x}でx部分が連番な10個の配列を作成する
let arrays = (new Array(10)).fill(0).map((v,i)=>{return {num:i}});
# 中身が999固定値な100個の配列を作成する
let arrays2 = (new Array(100)).fill(999);
罠:emptyはmapの対象とならない
表題の通りなのですが、new Array(x)
で作成した配列は[empty..]
という感じのemptyのみの配列が生成されます。
これをそのままmap
に引き渡しても、map
はempty
のを対象とできないため対象外となりemptyの配列が出来上がってしまいます。
ですのでfill
で初期化してあげる必要があります。
Discussion