javascript – 字符串以Google Script开头

我正在为我们正在进行的一些选举制作数据转换脚本.第一部分将所有名称更改为大写,并且脚本的这部分工作正常.但是,我的脚本的第二部分有问题.有些ID会有S,S123456,有些则没有S,123456.出于我的目的,我需要所有ID在开头没有s.当我在Google中运行此脚本时,它返回“TypeError:在对象S123456中找不到函数startsWith”.有任何想法吗?谢谢!!
function convertResponseData(){
  var resultsinformation = SpreadsheetApp.openById('MySheetID').getSheetByName('Election Responses');
  var resultsDatarange = resultsinformation.getRange(1,1,2500,6);
  var resultsData = resultsDatarange.getValues();
  for (var i = 0; i < resultsData.length; i++) {
    var row = resultsData[i];
    var resultsstudentNameLower = row[1];
    var resultsstudentID = row[2]
    var studentNameUpper = resultsstudentNameLower.toupperCase()
    resultsinformation.getRange(i+1,2).setValue(studentNameUpper)
    if (var n = resultsstudentID.startsWith("S")){
      var resultsstudentIDNoS = resultsstudentID.substring(1,20);
      resultsinformation.getRange(i+1,3).setValue(resultsstudentIDNoS)
    }
  }
}

解决方法

在google脚本中不支持startsWith().相反,你可以使用
resultsstudentID.indexOf("S") == 0

检查字符串start是否以“S”开头

function convertResponseData(){
  var resultsinformation = SpreadsheetApp.openById('MySheetID').getSheetByName('Election Responses');
  var resultsDatarange = resultsinformation.getRange(1,2).setValue(studentNameUpper)
    if (resultsstudentID.indexOf("S") == 0 ){
      var resultsstudentIDNoS = resultsstudentID.substring(1,20);  //You also do this resultsstudentID.substring(1) to get a substring from index 1 to end. 
      resultsinformation.getRange(i+1,3).setValue(resultsstudentIDNoS)
    }
  }
}

希望有所帮助

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...