【发布时间】:2017-04-05 00:46:07
【问题描述】:
我正在为我们正在进行的一些选举编写数据转换脚本。第一部分将所有名称更改为大写,这部分脚本工作正常。但是,我对脚本的第二部分有疑问。有些 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)
}
}
}
【问题讨论】:
-
Cannot find function startsWith- 您使用的是哪个浏览器?而且,resultsStudentID总是一个字符串吗?也许您需要像这样检查if (resultsStudentID.startsWith && resultsStudentID.startsWith("S")){- 您也可以删除var n =,因为您从不使用该值 -
或者,
if (resultsStudentID.toString().startsWith("S")){- 只要您的浏览器不是 Internet Exploder -
我正在使用谷歌浏览器,我尝试了
if (resultsStudentID.toString().startsWith("S")){,它给了我同样的错误。 @JaromandaX -
奇怪...
console.log(typeof resultsStudentID)是什么 -
日志返回 [17-04-04 20:59:53:932 EDT] 字符串 @JaromandaX
标签: javascript google-apps-script google-sheets