以下代碼工作正常,但我被要求在下面的代碼中找到一個錯誤。任何人都可以指出。用默認值填充多維javascript數組矩陣
function defaultMatrix(size) {
var defaultValue = 0;
var row = [];
var matrix = [];
for (var i=0; i < size; i++) { row.push(defaultValue); }
for (var i=0; i < size; i++) { matrix.push(row); }
return matrix;
}
console.log(defaultMatrix(6));
'row'被重用。 IOW,每一行都是對同一個數組的引用,所以對一行的修改會影響所有行。 – bgoldst
您可以提供關於函數如何執行的更多信息嗎? –
它應該用默認的零填充矩陣。這就是我所擁有的一切。所以我認爲@bgoldst提供的答案是有道理的。我已通過更改一個值進行測試,並導致在所有行中發生更改。 – rmsorPth