Js实现删除数组中的空元素
JavaScript删除数组中的空元素,这里不使用循环的方式来实现,推荐你使用es6的filter()方法,此方法将返回一个新数组,其中包含传递回调函数条件的元素。
代码实现:
从数组中删除undefined,nulle,mpty,(void 0),0,-0,0n,NaN,false,'' ,undefined等空元素。
var arr=[, null, (void 0), 0, -0, 0n, NaN, false, '',undefined,1,'fly63'];//只需要返回[1,'fly63']方式一:
arr.filter(n => n)方式二:
可以传递给filter方法,Boolean构造函数,或者在过滤条件函数中返回相同的元素,例如:
arr.filter(Boolean)延伸:
1、如果直返回数组内的数字,我们可以使用:
arr.filter(Boolean)2、在某些情况下,您可能希望在数组中保留“0”,并删除其他为空的内容,你可以这样:
arr.filter( n => n === 0 || n);3、指定删除某几个空元素,比如指定删除""和null,保留其他,你可以这样:
function isEmpty(x){
if(x!=="" && x!==null)
return true;
}
arr.filter(isEmpty);filter语法说明:
array.filter()方法从给定数组中创建一个新数组,该数组由所提供数组中满足参数函数条件的元素组成。
array.filter( function(cValue, index, arr), tValue )参数:
filter()方法接受下面列出的两个参数。
function:它包含三个参数,分别为:
- cValue:此参数是必需的,它是当前元素的值。
- index:该参数是可选的,它是当前元素的数组索引。
- arr:此参数是可选的,它是当前元素所属的数组对象。
tValue:此参数是可选的,该值将传递给函数以用作其“this”值。如果为空,则将传递值“undefined”。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!