繁体   English   中英

为什么未定义matrix [i + 1] [j]?

[英]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 -1matrix.length -1 ,并且matrix[ matrix.length ]总是undefined因为数组索引0开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM