js初始化|创建二维数组

24 阅读1分钟

下面介绍的都是正确2种 创建方式

image.png

// 【推荐】方法一:使用 Array.from(行数组,列数组)
const row = 3, col = 2;  // 3行2列
let arr1 = Array.from(Array(row), item => new Array(col).fill('1'))
// let arr1 = Array.from(Array(row), () => new Array(col).fill('1'))
console.log('arr1: ', arr1);

// 方法二:使用 Array.fill + map + fill
const row = 3, col = 2;  // 3行2列 (注意下面的'1'随便填写,但是一定要填)
let arr2 = Array(row).fill('1').map(item => new Array(col).fill('5'))
// let arr2 = Array(row).fill('1').map(() => new Array(col).fill('5'))
console.log('arr2: ', arr2);

下面是错误的方式:

// 会导致 数据值被引用修改,即 一改都改了。
const row = 3, col = 2 // 5行3列 
let arr1 = Array(row).fill(Array(col).fill('填充1'));
console.log('arr1: ', arr1)

参考博客