0

Итак, я пытаюсь заменить любые «-», представленные из моей формы Google, на «-», чтобы иметь возможность обрабатывать его математически (я делаю parseInt() дальше в исключенном коде) в моей таблице. Мой способ сделать это здесь, вероятно, довольно неуклюжий, но я ожидал, что это сработает, и я не понимаю, почему это не так.replace() метод формы отправленных данных возвращает «TypeError: не может вызвать метод« replace »undefined»

function myNotification(e) { 

    var i; 
    var temp = []; 
    var ent = []; 
    var eventInput = e; 
    var vArray = e.values; // just for the sake of it 

    for(i = 0; i < 150; i++){ 

    ent[i] = e.values[i] 

    temp[i] = ent[i].replace("−","-"); //TypeError 




    } 

Я действительно ценю любую возможную помощь, которую я могу получить, как я пытался выяснить это на некоторое время, но мое ограниченное понять Дж.С. (или кодирование в целом) на самом деле делает это трудно.

EDIT: Я обычно не имею .ToString(), включенной в коде, но это также дает мне то же TypeError как заменить()

EDIT2: var ja = e.values[2].replace("−","-"); дал мне «-1» вместо нормального «-1» - это именно то, что я хочу, но я не хочу записывать все 150 потенциальных конверсий.

EDIT3 (5): Это: Google Script not properly accepting event input кажется очень актуальным, , но я попытался добавить объявления, в которых он оказался чтобы решить проблему, но, похоже, она ничего не делает для меня. Код обновлен. Это работало до тех пор, как я сделал обе переменные:

var vArray = e.values; 
    var arrayLength = e.values.length; 

EDIT4: Как предложил e.values.length в цикл исправили проблему. обновленный код:

var i; 
    var temp = []; 
    var ent = []; 
    var eventInput = e; 
    var vArray = e.values; 




    for(i = 0; i < e.values.length; i++){ 

    ent[i] = e.values[i]; 


    temp[i] = ent[i].replace("−","-"); 




    } 
+0

Если есть какие-либо проблемы с моим вопросом, просто скажите об этом, и я постараюсь исправить это. –

+0

Извините @AppuAmruth, я не совсем уверен, что вы имеете в виду, если вы имеете в виду, что такое триггер, то это на основе форм. –

ответ

0

Ограничьте свою цикл до длины массива.

function myNotification(e) { 
    for(i = 0; i < e.values.length; i++){ 
    ent[i] = e.values[i].toString(); 
    temp[i] = ent[i].replace("−","-"); 
    } 
} 
+0

ReferenceError: консоль не определена –

+0

его функция javascript rt? как консоль console.log() не определена. –

+0

google script yes –

Смежные вопросы