随机子字符串错误?“类型错误:在对象中找不到函数子字符串.".

Random substring error? "TypeError: Cannot find function substring in object..."

本文关键字:错误 字符串 找不到 函数 对象 quot 类型 类型错误 随机      更新时间:2023-09-26

错误是:

类型错误: 在对象中找不到函数子字符串

代码循环遍历 10 个值,检查第一个字符是否为数字。

function TypeErrorMystery() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();
  //loop from cell 1-10
  for (var i = 0; i < 10; i++) {
    var range = s.getRange(i + 1, 1)
    var substring1 = range.getValue().substring(0, 1);
      //if first character in cell is #
      if (substring1 === "#" ) {
         //write over it with "success"
         range.setValue("success");
      }
   };
}

确切的错误是:

类型错误:在对象 3 中找不到函数子字符串。(第 9 行,文件"代码"),

其中第 9 行是:

var substring1 = range.getValue().substring(0, 1);

单元格中的值为数字 3。 substring() 方法在应用于数字时引发错误。 您应该检查返回的值的类型。

if (typeof thisCellValue === 'number') {continue;};//Skip over numbers

整个代码:

function TypeErrorMystery() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();
  var range,
      substring1,
      thisCellValue;
  //loop from cell 1-10
  for (var i = 0; i < 10; i++) {
    range = s.getRange(i + 1, 1)
    thisCellValue = range.getValue();
    Logger.log('typeof thisCellValue: ' + typeof thisCellValue);
    if (typeof thisCellValue === 'number') {continue;};
    substring1 = thisCellValue.substring(0, 1);
    //if first character in cell is #
    if (substring1 === "#" ) {
      //write over it with "success"
      range.setValue("success");
    }
  };
};