js数组中过滤掉false, null, 0, "", undefined, NaN无效值


方法一:

如果只是过滤掉数组中的false,null,0,undefiend,NaN,"",而不考虑过滤带空格的字符串" ",可以直接使用filter,代码如下:

var arr = [false, null, 0, NaN, undefined, ""];
var newArr = arr.filter(Boolean);
console.log(newArr); // []

打印结果为[],顺利将这些无效值过滤掉。

方法二:

对于 false,null,0,undefiend,NaN直接取!得到的都是true,因此这里只需要在判断空字符串""和带空格字符串" "。
直接看代码:

function arrFilter(arr) {
  return arr.filter(function (val) {
    return !(!val || (typeof val === 'string' && val.trim() === ""));
  });
}
var arr = arrFilter([false, null, 0, NaN, undefined, "", " "]);
console.log(arr); // []

打印结果为[]

注意:

1.需要单独判断空格字符串,保证为string类型,才能使用trim()来去除空格。
2.NaN与任何值比较包括它自身结果都是false,因此也可以使用isNaN()函数来检查。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM