JavaScript でプログラム的に 2D 配列を作成する簡単な方法はありますか?
欲しくないもの:
var array2D = [
[0,0,0],
[0,0,0],
[0,0,0]
]
ベストアンサー1
ソリューション2017:
遅くなりましたが、この投稿はまだ Google 検索結果の上位に表示されています。
作成するには空の指定されたサイズの 2D 配列 (より多くの次元に適応可能):
let array = Array(rows).fill().map(() => Array(columns));
事前入力された 2D 配列:
let array = Array(rows).fill().map(() => Array(columns).fill(0));
例えば:
Array(2).fill().map(() => Array(3).fill(42));
// Result:
// [[42, 42, 42],
// [42, 42, 42]]
警告:
Array(rows).fill(Array(columns))
すべての行が同じ配列への参照になります。
2018 年 9 月 24 日更新 (@Tyler に感謝):
別の方法としては、Array.fill()
マップ関数を使用して適用する方法があります。
例えば:
Array.from(Array(2), _ => Array(3).fill(43));
// Result:
// [[43, 43, 43],
// [43, 43, 43]]