想創建一個 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
}
使用鏈式表達,讓函數更清晰,在大型項目中,好處會逐漸體現出來