在 JavaScript 中,如果我运行以下代码:
<script type="text/javascript">
var nameStr = 'Chris Kate Steve';
var names = nameStr.split(/[ ]/);
var names2 = nameStr.split(' ');
for (var i in names)
{
alert(i);
}
for (var i in names2)
{
alert(i);
}
</script>
它会提醒:
0
1
2
index
input
对于第一组:
0
1
2
第二组。
知道这是为什么吗?
最佳答案
for...in
迭代对象的属性 - 将其与数组一起使用是不可靠的,应该避免。使用for(var i=0; i < names.length; i++)
您的问题将会得到解决。
只是 split 使用正则表达式向结果返回附加属性。
关于javascript - 为什么 string.split() 对于正则表达式的行为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3076382/