如果字符串不匹配,.split()会返回什么?

时间:2014-12-29 11:37:29

标签: javascript

在此JavaScript代码中,如果变量data没有该字符.那么将分割返回什么?

x = data.split('.');

它是原始字符串的数组吗?

1 个答案:

答案 0 :(得分:9)

是的,根据ECMA262 15.5.4.14 String.prototype.split (separator, limit),如果分隔符不在字符串中,它将返回一个包含原始字符串的单元素数组。结果可以从以下推断:

  

返回一个Array对象,其中存储了将此对象转换为String的结果的子字符串。通过从左到右搜索分隔符的出现来确定子串;这些事件不是返回数组中任何子字符串的一部分,但用于分割字符串值。

如果你不喜欢推断,你可以按照底部相当大的步骤进行操作,你会看到它的作用。

如果您输入代码,请对其进行测试:

alert('paxdiablo'.split('.')[0]);

你会看到它输出paxdiablo,第一个(也是唯一的)数组元素。运行:

alert('pax.diablo'.split('.')[0]);
alert('pax.diablo'.split('.')[1]);
另一方面,

将为您提供两个提醒,一个针对pax,另一个针对diablo