1. 使用 filter() 方法

filter() 是最常用的方法,可以根据给定的条件过滤数组元素。

去除 null、undefined、空字符串:

let arr = [1, null, 2, undefined, ”, 3];
let newArr = arr.filter(function(value) {
return value !== null && value !== undefined && value !== ”;
});
console.log(newArr); // 输出: [1, 2, 3]

使用简化版:
可以直接利用 JavaScript 的真值特性来去除所有假值(null、undefined、”、0、false、NaN):

let arr = [1, null, 2, undefined, ”, 3, 0, false, NaN];
let newArr = arr.filter(Boolean);
console.log(newArr); // 输出: [1, 2, 3]

2. 使用 reduce() 方法
通过 reduce() 方法遍历数组并构建一个新的数组,去除空值。

let arr = [1, null, 2, undefined, ”, 3];
let newArr = arr.reduce((acc, value) => {
if (value !== null && value !== undefined && value !== ”) {
acc.push(value);
}
return acc;
}, []);
console.log(newArr); // 输出: [1, 2, 3]

3. 使用 forEach() 方法
可以使用 forEach() 手动遍历数组并添加非空值到新数组中。

let arr = [1, null, 2, undefined, ”, 3];
let newArr = [];
arr.forEach(function(value) {
if (value !== null && value !== undefined && value !== ”) {
newArr.push(value);
}
});
console.log(newArr); // 输出: [1, 2, 3]

总结

  • 如果只想去除空值(如 nullundefined 和空字符串),可以使用 filter() 方法来进行过滤。
  • 如果想去除所有假值(如 false0NaN),可以使用 arr.filter(Boolean)

作者 admin

百度广告效果展示