Функция скрипта Google Apps Splice не работает

1

Я новичок в Javascript, но не для кодирования. Я люблю начинать с простых простых примеров. Я пытаюсь вставить элементы в массив, используя сплайс. Примеры изобилуют! Они получают одинаковый результат!

function ArrTest(){ 
var fruits = ["Banana", "Orange", "Apple", "Mango"];
    Logger.log("before " + fruits.length);

fruits.splice(2, 0, "Lemon", "Kiwi");
    Logger.log("after " + fruits.length);
}

Когда я пытаюсь запустить, я получаю сообщение об ошибке на строке "fruit.splice...":

TypeError: не удается найти функцию splice в объекте [object Array].

Я использую Windows 10 (обновляется) с помощью Chrome (последняя версия). Каждый раз, когда я ищу эту ошибку, я получаю больше примеров, показывающих, как это работает! Любая помощь или руководство будут очень благодарны.

Снимок экрана. Я использую Chrome, открываю листок Google с Диска, а затем редактор инструментов/сценариев: Изображение 174551

  • 0
    Где именно вы печатаете этот код? Вы сказали " Slice в заголовке, затем " splice ... потом fruits ... fruit . Предоставьте скриншот вашего кода с ошибкой.
  • 0
    Это интересно. Запись ["a", "c"]. Splice (1,0, "b") должна создать массив a, b, c, но, работая в консоли Chrome версии 69, он возвращает пустой массив. Но ответ @Rajkumar A работает, и если я заменю ваш Logger на консоль, он также будет работать в отладчике Chrome. Что вы видите в консоли, если вы вводите Array.prototype.splice? Должно быть напечатано f splice () {[native code]}, если поддерживается.
Показать ещё 3 комментария
Теги:
google-apps-script

2 ответа

0

Я рассмотрю это. Спасибо всем за вашу помощь и вклад.

Splice работает как ожидалось. На чистом листе без другого кода пример, который я опубликовал, отлично работает. По-видимому, у меня было что-то еще в другом проекте, прикрепленном к тому же листу, который вызывал проблему. Я до сих пор не понимаю, что именно, но это может быть предметом другого вопроса.

0

Вы определили переменную как плоды, но ошибку сказали фрукты. переменная фрукта не определена. Следовательно, вы можете получить эту ошибку. splice работает только для объекта массива. Ниже код работает отлично для меня.

var fruits = ["Banana", "Orange", "Apple", "Mango"];
        console.log("before " + fruits.length);
    
    fruits.splice(2, 0, "Lemon", "Kiwi");
        console.log("after " + fruits.length);
  • 1
    Но ошибка говорит TypeError: Cannot find function splice in object [объект Array]. не undefined
  • 1
    Выше код работает в скрипте приложений Google также. Я не получил никаких ошибок, как указано выше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню