Jquery 拆分空字符串将生成一个元素

Jquery 拆分空字符串将生成一个元素,jquery,split,Jquery,Split,为什么空字符串上的split会给出一个元素 i、 e.在以下情况下如何获取0: let tags=”“; 设arr=tags.split(','); 控制台日志(arr.length) 根据ECMAScript规范,这正是拆分函数的本质。以下是该报告的相关摘录: 如果此对象是(或转换为)空字符串,则结果 取决于分隔符是否可以匹配空字符串。如果可以,, 结果数组不包含任何元素。否则,将返回结果数组 包含一个元素,即空字符串 对于您正在寻找的行为,一个简单的解决方法如下: let arr = !t

为什么空字符串上的
split
会给出一个元素

i、 e.在以下情况下如何获取
0

let tags=”“;
设arr=tags.split(',');
控制台日志(arr.length)

根据ECMAScript规范,这正是
拆分
函数的本质。以下是该报告的相关摘录:

如果此对象是(或转换为)空字符串,则结果 取决于分隔符是否可以匹配空字符串。如果可以,, 结果数组不包含任何元素。否则,将返回结果数组 包含一个元素,即空字符串

对于您正在寻找的行为,一个简单的解决方法如下:

let arr = !tags ? [] : tags.split(',');

您只需使用
过滤器

let tags=”“;
设arr=tags.split(',').filter(x=>x);

控制台日志(arr.length)如果未找到分隔符,则在函数规范中返回包含整个字符串的数组。您仍然可以使用
indexOf
首先尝试查找它是否存在,并且仅当找到它时才进行拆分。如果需要,您需要检查是否存在空元素that@Kaddah背后的逻辑是什么?为什么结果不是空数组?请尝试
console.log(arr)1
,因为
0:“
”。有时术语的精确性,按事物的名称调用,会让人认为我们正在脱离常识。但常识往往是泛化的。想想什么才是真正的什么。空字符串不是什么。它是一根线,实际上是一种东西。如果你不把蛋糕一分为二,你还有一块蛋糕。一整块美味的蛋糕送给你自己。。
   let tags = "";
   let arr = tags.split(',').filter(x => x);
   console.log(arr.length);
   else 
   {

   var result=console.log(arr.length);
   }