字符串并排具有相同字符时按字符.split()

时间:2018-07-03 21:24:26

标签: javascript

检查以下示例及其结果:

'222'.split('') // ["2", "2", "2"]
'222'.split('2') // ["", "", "", ""]
'2a22a'.split('2') // ["", "a", "", "a"]

为什么最后一个示例不是["", "a", "", "", "a"]

3 个答案:

答案 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"]