我正在使用split函数从数组中删除逗号,该数组在使用for循环打印数组时显示但是当我使用此代码时
<script>
var name = ["A", "B", "C"];
var name_split = name.split(',')
for(var i=0;i<name_split.length;i++)
{
document.write("\n",name_split[i],"\n");
}
</script>
我按预期获得上述代码的O / P:A B C.但是当我使用相同的代码和不同的变量时,它会产生错误,例如这个代码
<script>
var intro = ["Hello","World","etc"];
var intro_split = intro.split(',');
for(var a=0;a<intro_split.length;a++)
{
document.write("\n",intro_split[a],"\n");
}
</script>
此代码的错误是:TypeError:intro.split不是函数。为什么会这样?
答案 0 :(得分:6)
'split'函数用于字符串,如下代码:
var intro = "Hello,World,etc";
var intro_split = intro.split(',');
for(var i=0;i<intro_split.length;i++)
{
document.write("\n",intro_split[i],"\n");
}
打印数组项的使用以下代码:
<script>
var intro = ["Hello","World","etc"];
for(var a=0;a<intro.length;a++)
{
document.write("\n",intro[a],"\n");
}
</script>
答案 1 :(得分:1)
您首次剪辑的原因是因为name
是JavaScript内置属性/方法的名称:http://www.w3schools.com/js/js_reserved.asp
链接在this comment,&#34; name&#34; ...
...只能包含字符串,任何对象(包括数组)都会被强制转换为基本类型。
因此,它会将您的数组强制转换为字符串(您可以使用split
)。例如:
var name = ["A", "B", "C"];
console.log(name);//returns "A, B, C"
可是:
var test = ["A", "B", "C"];
console.log(test);//returns ["A", "B", "C"]
答案 2 :(得分:1)
你真的不需要调用split(character-to-split-by)
- 你已经有一个字符串数组(在字符串上调用split
会给你一个字符串/字符数组)。所以在这种情况下,只需循环遍历intro
数组:
<script>
var intro = ["Hello","World","etc"];
for(var a=0;a<intro.length;a++)
{
document.write("\n",intro[a],"\n");
}
</script>
或者,如果你真的想尝试使用split,那么你可以先join
数组(默认情况下,加入是用逗号,
完成的)。在这种情况下,你可以这样做:
<script>
var intro = ["Hello","World","etc"];
var veryUnnecessaryStuff = intro.join();
var intro_split = veryUnnecessaryStuff.split(',');
for(var a=0;a<intro_split;a++)
{
document.write("\n",intro_split[a],"\n");
}
</script>
我希望这会有所帮助。