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