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

JavaScript中split('/')分割单斜杠为何返回长度为2的数组?

为什么"/".split('/')得到的数组长度是2?

这是个很常见的字符串分割行为问题,我来给你拆解清楚:

首先确认你的场景:当访问http://localhost时,window.location.pathname的返回值确实是"/"——这是浏览器对根路径的标准返回结果。

接下来重点看JavaScript中String.split()方法的工作逻辑:
当分隔符位于字符串的开头或结尾时,split会保留这些位置产生的空字符串元素:

  • 对于字符串"/",第一个字符就是分隔符'/',分隔符之前没有任何字符,所以这部分会被解析为空字符串,成为数组的第一个元素。
  • 分隔符'/'之后到字符串结束的部分同样没有字符,这部分也会被解析为空字符串,成为数组的第二个元素。

所以最终你得到的数组是["", ""],长度自然为2,这就是你的if (arr.length === 0)条件不成立、test没有被打印的原因。

如果想要得到不含空元素的路径分段,你可以在分割后过滤掉空字符串,比如:

var arr = path.split('/').filter(item => item !== '');
// 此时对于path为"/"的情况,arr会是一个空数组,长度为0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:08:17