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

问题描述 投票:0回答:3

为什么

split
在空字符串上给出一个元素?

即在以下情况下如何获得

0

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

javascript split
3个回答
1
投票

您可以使用

string
 简单地从 
arr
 中删除空的 
filter

元素

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


1
投票
   let tags = "";
   let arr = tags.split(',').filter(x => x);
   console.log(arr.length);
   else 
   {

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

1
投票

这正是 ECMAScript 规范中

split
函数的本质。以下是 spec 的相关摘录:

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

针对您正在寻找的行为的简单解决方法如下:

let arr = !tags ? [] : tags.split(',');
© www.soinside.com 2019 - 2024. All rights reserved.