关于JavaScript split()的坑,望周知

484 阅读1分钟

split() 方法用于把一个字符串分割成字符串数组。

提示:  如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注意:  split() 方法不改变原始字符串。

    let str = "aaabbccccee"
    
    //第一次,我们按字符 a 分隔
    //得到如下结果  -  结果正确
    ["", "", "", "bbccccee"]
    
    //第二次,我们按字符 b 分隔
    //得到如下结果  -  少了一个 "" ? 
    ["aaa", "", "ccccee"]
    //希望得到的结果应该是  ["aaa", "", "", "ccccee"]
    
    
    //第三次,我们按字符 c 分隔
    ["aaabb", "", "", "", "ee"]
    //希望得到的结果应该是  ["aaabb", "", "", "",  "", "ee"]
    
    //第四次,我们按字符 e 分隔
    ["aaabbcccc", "", ""]
    //结果正确

结论,当我们以某个值 x 为分隔符的时候,如果 x 连续,并且在首尾,可以得到正确的数值。如果 x 连续,并且在中间,得到的结果中 "" 的长度等于 x 连续的长度-1.