想创建一个 n*n 的矩阵,并全部赋予初始值false
你可能会想到下面
let arr = [];
for(let i =0 ;i< n;i++) {arr[i] = [];for( let j =0; j< n; j++){arr[i][j] = false;}
}
稍微封装一下:
function Cmatrix(n, c) {let arr = [];for (let i = 0; i < n; i++) {arr[i] = [];for (let j = 0; j < n; j++) {arr[i][j] = false;}}return arr;
}
上面的可能不那么美…好多的过程量,我们是不关心的,比如for(let i=0; i< n; i ++)
// 使用new Array(n) 生成数组. 使用.fill来填充数组
// 改造如下:
function Cmatrix(n, c) {return new Array(n) // 生成 n*1 数组.fill(null) // 填充 null.map(() => new Array(n).fill(c)) // 对每个null 填充 1*n 个c
}
使用链式表达,让函数更清晰,在大型项目中,好处会逐渐体现出来