<script type="text/javascript">
var b="fffggg";
c=b.split("fff");
console.log(c);
</script>
为什么运行完之后c的值是["", "ggg"]
,变成了空字符串。这是为什么?
亲,那个方法是分割的方法,应该支持正则吧,如果需要把fffggg分割,使用正则\w{3}试试
这么说吧。
split()属于字符串的一个方法(函数)。
这个方法(函数)是有返回值,就是返回一个数组。
这个方法(函数)可以接收两个参数,
str.split(sp)
sp 当找到一个 sp 时,sp 会从字符串中被移除,剩下的就字符串就会push到数组里。
mit 一个整数,限定返回的分割片段数量。split 方法仍然分割每一个匹配的 sp,但是返回的数组只会截取最多 mit 个元素。
如果什么都不传就会把字符传转换成一个数组
var ss = 'abcde';
ss.split(); // ['abcde']
ss.split('a') // ['','bcde'];
ss.split('bc') //['a','def'];
ss.split('bc',1) // ['a'];
至于为啥第一个匹配的字符串,会在数组里返回为空,我只能说是作者设计的时候,搞忘了,毕竟大家众所周知,js有很多设计缺陷;
"ab".split("") ~~ ["a","b"],明白了吗
split安装传入的参数把字符串分割成数组,fffggg中fff前面是空的后面是ggg,所以就是这个数组了...
已 fff作为分割,所以不会在结果里。看看文档吧
这么写给你看吧。。
"" + "fff" + "ggg" = "fffggg";