Js实现删除数组中的空元素

摘要:JavaScript删除数组中的空元素,这里不使用循环的方式来实现,推荐你使用es6的filter()方法,此方法将返回一个新数组,其中包含传递回调函数条件的元素

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”。


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_12350