You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何JavaScript split函数遇分隔符会生成空元素?

为什么JavaScript中'5+'.split('+')会返回['5', '']?

这是JavaScript里split()方法的标准行为:它会把分隔符当作分割边界,边界两侧的内容(哪怕是空内容)都会被作为数组元素保留下来。

拿你的例子来说:

  • '5+'里的+是最后一个字符,它的左侧是'5',右侧是空字符串,所以拆分后就得到['5', '']
  • '5+++'有三个连续的+,相当于创建了四个分割段:'5'、第一个+右侧的空、第二个+右侧的空、第三个+右侧的空,所以返回['5', '', '', '']

如果想得到你预期的['5'],可以在拆分后过滤掉空元素,用filter()方法就行:

'5+'.split('+').filter(Boolean) // 返回 ['5']

Boolean在这里会把空字符串转为false,从而被过滤掉。

内容的提问来源于stack exchange,提问作者M C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:40:55