有没有一种简单的方法可以在 javascript 中以编程方式创建二维数组?
我不想要的:
var array2D = [
[0,0,0],
[0,0,0],
[0,0,0]
]
最佳答案
2017 年解决方案:
聚会迟到了,但这篇文章在 Google 搜索结果中仍然排在前列。
创建具有给定大小的空二维数组(可适应更多维度):
let array = Array(rows).fill().map(() => Array(columns));
预填充二维数组:
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()
来应用 map 函数。
例如:
Array.from(Array(2), _ => Array(3).fill(43));
// Result:
// [[43, 43, 43],
// [43, 43, 43]]
基准:
关于javascript - 如何在 javascript 中创建一个二维零数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3689903/