Javascript 你能解释一下为什么结果是这个:[[0,0,0,0],[0,0,0,0]]而不是这个:[[0,0],[0,0,0]? 函数零数组(m,n){ 设newArray=[]; 设row=[]; 对于(设i=0;i

Javascript 你能解释一下为什么结果是这个:[[0,0,0,0],[0,0,0,0]]而不是这个:[[0,0],[0,0,0]? 函数零数组(m,n){ 设newArray=[]; 设row=[]; 对于(设i=0;i,javascript,Javascript,当您推送到newArray时,行是相同的数组。创建一个副本并推送将解决此问题 函数零数组(m,n){ 设newArray=[]; 设row=[]; for(设i=0;i

当您推送到
newArray
时,
是相同的数组。创建一个副本并推送将解决此问题

函数零数组(m,n){
设newArray=[];
设row=[];
for(设i=0;iconsole.log(matrix)
声明移动到
for
循环的第一个
中,这样它会在第一行和第二行之间重置。

您从不将
重置为空数组。可能您需要将它移动到
for
的第一个
行中。但是如果我重置它,结果将是[[0,0],[0,0]].我希望结果是[[0,0],[0,0,0,0]]
function zeroArray(m,n){
  let newArray = []; 
  let row = [];
  for (let i = 0; i < m; i++){
     for (let j = 0; j < n; j++) {
        row.push(0);
     }
     newArray.push(row);
  }
  return newArray;
}
let matrix = zeroArray(2, 2);
console.log(matrix)