はじめに
2次元配列はテーブルのようなものを表せるのでいろいろな場面で使用したくなることが多々あると思う。
そこで今回は**JavaScript
でNxM
の2次元配列
をゼロ初期化
するスマートな方法
をここにメモしておこうと思う。**
やりかた
調べてみて最初に私がわかりやすさとかっこよさを兼ね備えていると思った方法がこちら。
let table = Array.from(new Array(N), () => new Array(M).fill(0));
こちらのやりかたも良いと思った。
let table = [...Array(N)].map(() => Array(M).fill(0));
ただなんかその理屈で行くとこのやり方もいけそうな気がする。
let table = Array.from([...Array(N)], () => Array(M).fill(0));
調べてみたらfrom
はmap
とやっていることほぼ変わらないので好みの問題か。
new Array()
っていう時代でもなさそうなのでやりかたその2
かやりかたその3
が今風だと思われる。
個人的にはやりかたその2
を推す感じになりそう。(map
は他言語でも結構メジャーなので)
ここで使用しているアロー関数
やスプレッド構文
は**ES2015
**の範囲になるが、
まあ使えない環境にみなさんいることはないだろう。
ESの開拓がどんどん進んでもっと書きやすくなったら追記していこうと思う。
参考元
2次元配列の初期化(ES2015)
↑の記事のコメント欄に記述されている内容を一部取り上げさせてもらった。感謝。
さいごに
結論に個人的な推しを最初に書くべきか考えている。
なんか変だと感じたらやりかたその1
とやりかたその2
を入れ替えて書き直すかもしれません。