javascript - String split 返回一个元素比预期多的数组(空元素)

标签 javascript arrays string split

我不明白这种行为:

var string = 'a,b,c,d,e:10.';
var array = string.split ('.');

我希望这样:

console.log (array); // ['a,b,c,d,e:10']
console.log (array.length); // 1

但我明白了:

console.log (array); // ['a,b,c,d,e:10', '']
console.log (array.length); // 2

为什么返回两个元素而不是一个? split 是如何工作的?

还有其他方法吗?

最佳答案

您可以添加一个过滤器来排除空字符串。

var string = 'a,b,c,d,e:10.';
var array = string.split ('.').filter(function(el) {return el.length != 0});

关于javascript - String split 返回一个元素比预期多的数组(空元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12836062/

相关文章:

c# - 将出生日期插入sql server

java - 创建单独的类的替代方法

c - 如何将一串数字解析为整数数组?

javascript - 使用 Javascript 进行域验证的正则表达式

c++ - 在c++中使用哪个字符串类可以实现高性能并且简单

javascript - 对具有点分隔数字的属性的对象数组进行排序

javascript - 行动谷歌 SDK : respond without registering handlers

Javascript - 将函数参数传递给变量名

java - 从数组的索引检索字符串,但它不起作用

ruby - 在 Ruby 中搜索哈希键的简洁方法