JavaScript でゼロの 2 次元配列を作成するにはどうすればよいでしょうか? 質問する

JavaScript でゼロの 2 次元配列を作成するにはどうすればよいでしょうか? 質問する

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]]

基準:

https://jsperf.com/多次元配列マップvsフィル/5

おすすめ記事