数组在javascript中的可见性 ( "undefined" )



我试图计算两个矩阵(多维数组)的总和,但我收到以下错误消息:

Uncaught TypeError: Cannot set properties of undefined (setting '0')
at matAdd (matrixCalc.js:28)

当我做这个代码时↓。我不明白为什么"matSum[0][0]"是未定义的。

// M1 + M2
function matAdd(m1, m2){        
let matSum = new Array(m1.length);
for (let i=0; i<m1.length; i++){       //create a blanco-matrix
matSum=new Array(m1[0].length);
}

if (m1.length == m2.length && m1[0].length==m2[0].length){
for (let i=0; i<m1.length; i++){
for (let j=0; j<m1[0].length; j++){
matSum[i][j]=m1[i][j]+m2[i][j];                  //HERE THE ERROR OCCURS
}
}
}
else console.log("Dimension-Error")
return matSum;
} 

带有行号的代码

感谢您的帮助:)

尝试像这样启动你的矩阵

function matAdd(m1, m2){        
let matSum = new Array(m1.length);
for (let i=0; i<m1.length; i++){       //create a blanco-matrix
matSum [i] =new Array(m1[0].length); // for each column
}

if (m1.length == m2.length && m1[0].length==m2[0].length){
for (let i=0; i<m1.length; i++){
for (let j=0; j<m1[0].length; j++){
matSum[i][j]=m1[i][j]+m2[i][j];                  //HERE THE ERROR OCCURS
}
}
}
else console.log("Dimension-Error")
return matSum;
} 

最新更新