javascript - 为什么 string.split() 对于正则表达式的行为不同?

标签 javascript regex split

在 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/

相关文章:

css - 使用 String.split inline 在 View 中设置 CSS 类

python - 符合 PEP8 的长 f 字符串拆分

string - 如何将一个字符串复制到另一个字符串中,使字符串保留在第一个位置?

javascript - 提交用户名和密码 javascript(不是表单)

javascript - 如何在网页编程中显示适合屏幕的图像列表

javascript - 调用javascript函数时出错: ReferenceError: <function name> is not defined

javascript - 如何在 plotBand 上显示工具提示或图例?

php - 测试一个字符串是否等于其中一个字符串(使用正则表达式)

python - 条件正则表达式与 else 部分不匹配

regex - RewriteRule ^(.*)/$ ?path=$1 [QSA,L] 在我的 .htaccess 中是什么意思?