[英]Why matrix[i+1][j] is not defined?
为什么[i + 1]中的矩阵未定义,而同时对于矩阵[i]也能正常工作
function matrixElementsSum(matrix) {
let x = 0;
let i = 0;
let j=0;
for (i=0; i<matrix.length; i++) {
for (j=0; j<matrix[i].length; j++) {
if (matrix[i][j] === 0) {
matrix[i+1][j]=0;
//Cannot set property '0' of undefined
}
x = matrix[i].reduce(function(a,b){return a+b},0);
x +=x;
}
}
return x;
}
该指数- i
-应该去,直到matrix.length - 1
在
for (i=0; i<matrix.length; i++) {
///ETC
为什么[i + 1]中的矩阵未定义,而同时对于矩阵[i]也能正常工作
仅仅因为你的循环条件
for (i=0; i<matrix.length; i++) {
i
值可以matrix.length -1
到matrix.length -1
,并且matrix[ matrix.length ]
总是undefined
因为数组索引从0
开始。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.