为什么空字符串上的split
给出一个元素?
即在以下情况下如何获取0
:
let tags = "";
let arr = tags.split(',');
console.log(arr.length);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案 0 :(得分:1)
这只是ECMAScript规范中split
函数的性质。以下是spec的相关摘录:
如果此对象是(或转换为)空String,则结果 取决于分隔符是否可以匹配空字符串。如果可以的话 结果数组不包含任何元素。否则,结果数组 包含一个元素,即空字符串。
针对您要查找的行为的简单解决方法如下:
let arr = !tags ? [] : tags.split(',');
答案 1 :(得分:1)
let tags = "";
let arr = tags.split(',').filter(x => x);
console.log(arr.length);
else
{
var result=console.log(arr.length);
}
答案 2 :(得分:1)
您可以简单地使用string
从arr
删除filter
元素中的空元素{p}
let tags = "";
let arr = tags.split(',').filter(x => x);
console.log(arr.length);