背景
JavaScriptで多次元配列を加工するときに、事前に挙動をテストしたいと思うことがあります。多次元配列を簡単に作るにはどうしたらいいかを考えました。
問題
テスト用の2次元配列や3次元配列を簡単に作る。
例
//2x2
const data1 = [
[0,0],
[0,0],
]
//3x3x3
const data2 = [
[[0,0,0],[0,0,0],[0,0,0]],
[[0,0,0],[0,0,0],[0,0,0]],
[[0,0,0],[0,0,0],[0,0,0]],
]
対処法
スプレッド演算子とmapを使うと簡単にできる。
//2x2
const data1 =[...Array(2)].map(k=>[...Array(2)].map(k=>0))
//3x3x3
const data2 =[...Array(3)].map(k=>[...Array(3)].map(k=>[...Array(3)].map(k=>0)))
あとがき
前はfor文のループやArray.fromを使っていましたが、最近は[...Array]を使っています。