JS一行代码实现二维数组的声明与初始化(3种方法)

第一种:==强烈不推荐使用!!实际应用中存在致命问题!!!!== Array.fill() 嵌套方法

致命问题看这里:JavaScript 踩坑 —— 使用 Array.fill( ) 填充对象导致的重大问题

const row = 5, col = 3  // 5行3列
let arr1 = Array(row).fill(Array(col).fill('要填充的值'))
console.log('arr1: ', arr1)

第二种:==强烈推荐!!== 其中item可以替换为任意临时变量,也可也是小括号对()

先看看基础用法,是这样的: Array.from([1, 2, 3], x => x + x); 结果是[2, 4, 6]
看懂了上面这句再看下面这句就明白了。

const row = 5, col = 3  // 5行3列
let arr2 = Array.from(Array(row), item => new Array(col).fill('要填充的值'))
// let arr2 = Array.from(Array(row), () => new Array(col).fill('要填充的值'))
console.log('arr2: ', arr2)

第三种:其中item可以替换为任意临时变量,也可也是小括号对()

const row = 5, col = 3  // 5行3列
let arr3 = Array(row).fill('这里随便写什么').map(item => new Array(col).fill('要填充的值'))
// let arr3 = Array(row).fill('这里随便写什么').map(() => new Array(col).fill('要填充的值'))
console.log('arr3: ', arr3)

在这里插入图片描述