分割一个空字符串给出一个元素

时间:2019-01-02 11:27:27

标签: jquery split

为什么空字符串上的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>

3 个答案:

答案 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)

您可以简单地使用stringarr删除filter元素中的空元素{p}

let tags = "";
let arr = tags.split(',').filter(x => x);
console.log(arr.length);