Я пытаюсь создать пользовательскую функцию для электронной таблицы документов Google. Я чувствую, что это действительно простая проблема, и я быстро ушел из глубины. Пожалуйста, помогите мне. Точка в правильном направлении была бы высоко оценена.ТипError: Не удается вызвать метод «replace» undefined
Редактор GoogleDocs сценарий дает эту ошибку:
TypeError: Cannot call method "replace" of undefined. (line 50)
Для этого кода:
function replaceGender(name, gender, comment) {
var genderedComment = String();
var name;
var gender;
var comment;
if(gender == "m")
{
genderedComment = ungenderedComment.replace("(name)", name).replace(/\(He\/She\)/g,"He").replace(/\(His\/\Her\)/g,"His").replace(/\(his\/\her\)/g,"his").replace(/\(him\/\her\)/g,"him").replace(/\(he\/\she\)/g,"he");
}
else
{
genderedComment = ungenderedComment.replace("(name)", name).replace(/\(He\/She\)/g,"She").replace(/\(His\/\Her\)/g,"Her").replace(/\(his\/\her\)/g,"her").replace(/\(him\/\her\)/g,"her").replace(/\(he\/\she\)/g,"she");
}
return genderedComment;
};
Я думаю, что его легко, но я делаю что-то неправильно.
Я изменил код, и теперь он работает без ошибок, но последние .replace(/\(he\/\she\)/g,"she");
и .replace(/\(he\/\she\)/g,"he");
не заменяют. ?? не знаю ... еще раз спасибо за вашу помощь ... как я сказал, что многому научился.
здесь код Сейчас
function replaceGender(name, gender, comment) {
if(gender == "m")
{
comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"He").replace(/\(His\/\Her\)/g,"His").replace(/\(his\/\her\)/g,"his").replace(/\(him\/\her\)/g,"him").replace(/\(he\/\she\)/g,"he");
}
else if(gender == "f")
{
comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"She").replace(/\(His\/\Her\)/g,"Her").replace(/\(his\/\her\)/g,"her").replace(/\(him\/\her\)/g,"her").replace(/\(he\/\she\)/g,"she");
}
return comment;
};
Переменная 'ungenderedComment' не определена. Это означает, что вы не можете рассматривать его как строку, вызывая на нем строковые функции. Сначала вы должны проверить, чтобы убедиться, что он определен. Вы должны либо проверить, чтобы убедиться, что это не определено, либо добавить в код код 'else if'. Фактически, как указал Полхоенке, вы, вероятно, используете неправильную переменную вообще! – jahroy
Если код не отображается, 'ungenderedComment' не определен, как говорит ошибка. –
Похоже, что вам стоит заменить 'ungenderedComment' на' comment', так как это имя аргумента функции. –