首页 > 解决方案 > “Typeerror 无法读取未定义的属性 '0'”是什么意思?

问题描述

我是谷歌 appscript 和 Javascript 的新手。:)

我想知道为什么执行时会不断出现以下错误?

你们能帮我解决这个问题吗?

谢谢

enter code here

var previousDataRange = ss2.getRange(5,1,lastRow,8);
 
  previousDataRange.clear();

  var data = ss.getRange(3,1,lastRow-1,8).getValues();
   
  var currentRow = ss2.getLastRow() + 1;
  
  for (var a =  0 ; a <=data.length ; a++){
   
    for(var b = 0 ; b <=7 ; b++){  // 8 Columns
  
      var cellValue = data[a][b]; //I got the error "typeerror cannot read property '0' of undefined" here
      
      ss2.getRange(currentRow,b+1).setValue(cellValue);
    }
        currentRow = currentRow + 1;
    } 
  

标签: javascriptgoogle-sheets

解决方案


在数组中,索引从 0 开始,因此您需要循环到 length-1。对 b 做同样的事情

var previousDataRange = ss2.getRange(5,1,lastRow,8);
 
  previousDataRange.clear();

  var data = ss.getRange(3,1,lastRow-1,8).getValues();
   
  var currentRow = ss2.getLastRow() + 1;
  
  for (var a =  0 ; a <data.length ; a++){
   
    for(var b = 0 ; b <=7 ; b++){  // 8 Columns
  
      var cellValue = data[a][b]; //I got the error "typeerror cannot read property '0' of undefined" here
      
      ss2.getRange(currentRow,b+1).setValue(cellValue);
    }
        currentRow = currentRow + 1;
    } 


推荐阅读