Я пытаюсь написать код, который помещает одну строку писем в массив писем. Разбиение строки везде, где есть запятая (,). Первоначальная проблема, с которой я столкнулся, - это строка, которая передается как переменная, не распознается. Я получаю сообщение об ошибке «Can not read property» length «undefined» условной части цикла for
. Странно, поскольку я определенно передаю строку или пытаюсь?переменная строка, отображаемая как неопределенная, новая строка, не отображаемая в массиве, javascript
Когда я передаю строку непосредственно параметру функции (чтобы избежать вышеупомянутой проблемы для проверки остальной функции), только первые два адреса электронной почты будут удалены, последний адрес электронной почты будет потерян?
Я изучаю программирование, и это упражнение как таковое Я пытаюсь избежать использования метода split()
или regEx. Daft я знаю.
Любая помощь в преодолении этих 2 проблем очень ценится.
function separateCommaValues(text)
{
var input = [];
var val = '';
for(var i = 0; i < text.length; i++) {
if(text[i] == ',') {
if(val.length == 0){
continue;
}
input.push(val);
val = '';
} else {
val += text[i];
}
}
document.write(input);
}
separateCommaValues(str);
var str = "[email protected], [email protected], [email protected]";
Вы должны определить переменную перед ее использованием. Переместите строку 'var str =" ... ";' перед вызовом 'separateCommaValues (str);' – tleilax
не следует инициализировать str до его использования? – Shanimal
Если это не академическое упражнение, я рекомендую использовать String.split: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split – acbabis