Sheet.getName() от Google AppScript возвращает объект вместо строки

#google-apps-script

#google-apps-script

Вопрос:

Я пытаюсь найти конкретный лист в моей SS по содержащимся в нем символам.

У меня есть следующая функция:

 function findSheetResponse()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var allsheets = ss.getSheets();
  for(i in allsheets)
  {
    var responsesheet = new String;
    responsesheet = allsheets[i].getName();
    if(responsesheet.indexof("Form Responses")>-1)
    {
      Logger.log(responsesheet);
    }
    else
    {
    }       
  }    
}
  

Это ошибка, вызванная выполнением

 TypeError: Cannot find function indexof in object Form Responses 10. (line 19, file "Code")
  

В не получается. Функция getName () В документах должна возвращать строку, поэтому я должен иметь возможность использовать ее как строку, а не как объект…

Есть идея?

Комментарии:

1. Приведенный ниже ответ правильный, но помните, что строка JavaScript также является объектом… то же самое происходит практически со всем в JavaScript.

2. действительно. «ответы формы объекта 10» привели меня в замешательство…

3. Я пришел сюда, потому что getName () (файла) также не возвращает строку. Я хотел использовать file.getName().includes(«x»), но я получаю сообщение об ошибке, что includes не существует для объекта, который является результатом file.getName(). Использование var filename = String(file.getName()); и затем filename.includes("x") также не работает.

Ответ №1:

используйте indexOf() букву «О» в нижнем регистре.(doc)