无法使用indexof函数获取值



我无法找出我在做什么。错误的代码对我来说很好,但我无法获得日志。

以下是我的代码:

function getempinfo() {
var xmail = 'sachin';
var ss2 = SpreadsheetApp.openById('19zdQSZFX7GTVvkUIDUErfJE7SdfxEw8dhtIkzv7mUOI');
var sheet = ss2.getSheetByName('Employee');
var lastrow = sheet.getLastRow();
var data = sheet.getRange(2, 1, lastrow, 16).getDisplayValues();
var xmaillist = data.map(function(r) {
return r[0];
});
var position = xmail.indexOf(xmaillist);
if (position > -1) {
return data[position];
} else {
return "Record Does not exist";
}
Logger.log(position)
}
  • 脚本永远不会记录任何内容,因为函数在到达该行之前返回(return结束当前函数执行(。如果希望记录该职位,请将Logger.log(position)放在if... else语句之前。

  • 您正在使用String.protype.indexOf((,并提供一个数组作为参数(xmaillist(。我想您要使用的是Array.prototype.indexOf(((在xmaillist中查找xmail所在的索引(。在这种情况下,您将不得不这样做:

var position = xmaillist.indexOf(xmail);

参考:

  • 返回
  • String.protype.indexOf((
  • Array.prototype.indexOf((

最新更新