为什么矩阵[i + 1] [j]没有定义?

时间:2018-02-14 11:13:28

标签: javascript arrays function variables matrix

为什么没有定义[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;
}

2 个答案:

答案 0 :(得分:0)

索引 - i - 应该直到

中的matrix.length - 1
    for (i=0; i<matrix.length; i++) {
       ///ETC

答案 1 :(得分:0)

  

为什么[i + 1]中的矩阵没有定义,同时它适用于   矩阵[i]

仅仅因为你的 for-loop条件

for (i=0; i<matrix.length; i++) {

i的值可以升至matrix.length -1,而matrix[ matrix.length ]始终为undefinedarray indexing0开始。