【问题标题】:Javascript split function creates empty element if separator found如果找到分隔符,Javascript split 函数会创建空元素
【发布时间】:2022-12-11 02:08:30
【问题描述】:
我关于 Stack 的第一个问题 :)
我想知道为什么会出现以下声明:
'5+'.split('+')
将返回长度为 2 的数组,['5', '']
“+”符号后没有任何内容。基本上,每次 Javascript 在字符串中找到分隔符时,如果多次找到分隔符,他将创建空元素:
'5+++'.split('+')
['5', '', '', '']
对于第一个示例,我期待 ['5']。
【问题讨论】:
标签:
javascript
string
split
【解决方案1】:
该代码通过 + 符号拆分您的字符串。由于符号之间没有任何内容,因此它返回一个空字符串。
要解决此问题,请在拆分数组后使用 filter 方法检查字符串是否为空。
'5+++'.split('+').filter(arr => arr != '');
// output = ['5']
'5++5+5'.split('+').filter(arr => arr != '');
// output = ['5', '5', '5']