首先我设置一个变量,并将其设置为空:
var str = "";
Run Code Online (Sandbox Code Playgroud)
然后我通过"&"拆分它:
var strs = str.split('&');
Run Code Online (Sandbox Code Playgroud)
最后,我展示strs的长度:
alert( strs.length);
Run Code Online (Sandbox Code Playgroud)
它警告"1".
但我没有为'str'变量赋值.为什么它仍然有一个长度,它不应该是零?
Mar*_*sen 56
来自MDC文档中心:
注意:当字符串为空时,
split返回包含一个空字符串的数组,而不是空数组.
阅读完整的文档:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split
换句话说,这是设计,而不是错误:)
小智 7
消除任何空字符串。
str.split('{SEPERATOR}').filter(r => r !== 'null')
Run Code Online (Sandbox Code Playgroud)
拆分window.location.pathname
请注意,在window.location.pathname拆分时,它也将返回+1的长度.
让我们假设在这种情况下我们的路径名是:/index.html.
var str = window.location.pathname.split('/');
Run Code Online (Sandbox Code Playgroud)
它将被分解为["" , "index.html"]设计,如前所述.
在这种情况下,可以做的是,剥去前导和尾随,/如下所示:
var str = window.location.pathname.replace(/^\/|\/$/g, '').split('/');
Run Code Online (Sandbox Code Playgroud)
并以"正确"的ed长度结束.
| 归档时间: |
|
| 查看次数: |
26566 次 |
| 最近记录: |