Я пытался использовать метод «includes» для массива в скрипте Google Apps, но он терпит неудачу с «Невозможно найти функцию, включающую в объект 1,4,3,7. (Строка 4, файл« test_array »). Вот код :
function test_array() {
var array1 = [1,4,3,7];
Logger.log(Array.isArray(array1)); // returns true
var proof = array1.includes("A");
// proof fails with "Cannot find function includes in object 1,4,3,7.
// (line 4, file "test_array")
Logger.log(proof);
}
В журналах я вижу, что Logger.log () возвращает true. Я работал над этим с помощью:
function test_array() {
var array1 = [1,4,3,7];
Logger.log(Array.isArray(array1)); // returns true
var proof = array1.indexOf("A"); // Works fine
Logger.log(proof);
}
Но я все еще хочу знать, почему метод include не работает с переменной, которую компилятор называет массивом. Может быть, он считает это массивом массивов, то есть объектом?
Спасибо,
Array.prototype.includes довольно свежий, версия js, вероятно, старше.
К сожалению, это не может быть использовано в ГАЗе на данном этапе., потому что включает() был добавлен в ECMAScript 2015.
Привет, Нина, он возвращает истину, если элемент найден, или ложь, если нет.
Привет, Джаред, спасибо за ответ. Похоже, что GAS использует старую версию JS?
Привет, Танаике, спасибо за разъяснения.
У меня такая же проблема. Вместо этого используйте indexOf.
Вы также можете использовать полифилл developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это было / не поддерживается во время выполнения носорог. С апгрейдом - v8, Array.includes поддерживается и во всех случаях его следует использовать вместо Array.indexOf.
что возвращает
includes, если он не работает?