我正在尝试编写一些代码,将一串电子邮件放入一组电子邮件中。在任何有逗号(,)的地方拆分字符串。我遇到的最初问题是因为变量未被识别而传递的字符串。我收到for
循环的条件部分的错误消息“无法读取未定义的属性'长度'。奇怪,因为我肯定传递一个字符串或试图?
当我直接将字符串传递给函数参数时(为了避免上述问题来测试函数的其余部分),只显示前2个电子邮件地址,最终的电子邮件地址丢失了?
我正在学习编程,这是一个练习,我试图避免使用split()
方法或regEx。我知道Daft。
对克服这两个问题的任何帮助都非常感激。
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 = "john@google.com, jake@yahoo.com, andrew@hotmail.com";
答案 0 :(得分:0)
var str = "john@google.com, jake@yahoo.com, andrew@hotmail.com";
separateCommaValues(str);
这是正确的顺序。您的变量可以在通过提升使用之前声明,但在使用之前无法定义它(未定义的错误)。
答案 1 :(得分:0)
最后一个电子邮件地址没有被推送到数组中,因为它之后没有逗号。所以在循环之后,在document.write( input );
之前,添加如下内容:
if(val.length > 0){
input.push(val);
val = '';
}