首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Javascript中删除数组中的空元素

在Javascript中删除数组中的空元素
EN

Stack Overflow用户
提问于 2008-11-11 15:48:54
回答 32查看 1.4M关注 0票数 1.4K

如何在JavaScript中删除数组中的空元素?

有没有一种简单的方法,或者我需要遍历它并手动删除它们?

EN

回答 32

Stack Overflow用户

发布于 2012-12-10 17:25:25

简单的一行代码:

代码语言:javascript
复制
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]

或者使用underscorejs.org

代码语言:javascript
复制
_.filter([1, false, "", undefined, 2], Boolean); // [1, 2]
// or even:
_.compact([1, false, "", undefined, 2]); // [1, 2]
票数 141
EN

Stack Overflow用户

发布于 2008-11-11 16:29:35

如果你有Javascript1.6或更高版本,你可以通过一个简单的return true回调函数来使用Array.filter,例如:

代码语言:javascript
复制
arr = arr.filter(function() { return true; });

因为.filter会自动跳过原始数组中缺少的元素。

上面链接的MDN页面还包含一个很好的filter错误检查版本,可以在不支持官方版本的JavaScript解释器中使用。

请注意,这不会删除null条目,也不会删除具有显式undefined值的条目,而是OP特别请求的“缺失”条目。

票数 135
EN

Stack Overflow用户

发布于 2011-03-27 00:57:35

干净利落的方法。

代码语言:javascript
复制
var arr = [0,1,2,"Thomas","false",false,true,null,3,4,undefined,5,"end"];
arr = arr.filter(Boolean);
// [1, 2, "Thomas", "false", true, 3, 4, 5, "end"]
票数 59
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/281264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档