检查以下示例及其结果:
'222'.split('') // ["2", "2", "2"]
'222'.split('2') // ["", "", "", ""]
'2a22a'.split('2') // ["", "a", "", "a"]
为什么最后一个示例不是["", "a", "", "", "a"]
?
答案 0 :(得分:18)
因为它像这样分裂
'2a22a'.split('2') becomes "" (2) "a" (2) "" (2) "a"
其中22的每一侧的“ a”将是一个数组项,但是在22之间,只有一个“”。
因此,如果在开头和22之间加上“ a”,将会更加清楚。
'a2a2a2a'.split('2') becomes ["a", "a", "a", "a"]
您也可以说;每个拆分字符(这里为2
)在数组定义中将成为逗号,
。
答案 1 :(得分:1)
这将使它更加直观和易于接受,因此无需额外说明:
'|a||a|'.split('|')
'|a|a|a|'.split('|')
结果:
[ "", "a", "", "a", "" ]
[ "", "a", "a", "a", "" ]
如果您对某些功能有疑问,请以大脑为例轻松接受。在这种情况下,接近于拆分方法的本质。
答案 2 :(得分:0)
split()使用作为参数传递的字符作为分隔符将字符串转换为数组。
就像@LGSon所说的,所有这些字符之间都是数组的元素。
如果用斜杠“ /”而不是“ 2”进行拆分,则更清晰:
'a/b/c/d'.split('/')
-> ["a", "b", "c", "d"]
'a//b'.split('/')
-> ["a", "", "b"]
'/a//a'.split('/')
-> ["", "a", "", "a"]