JS 清除数组中的空元素

在 JavaScript 中,经常会遇到需要清除数组中的空元素的情况,这些空元素可能是 null、undefined、空字符串 "" 或 NaN 等。在本文中,我们将介绍几种常见的方法来清除数组中的空元素。
方法一:使用 filter 方法
filter 方法可以创建一个新数组,其中包含通过指定函数测试的所有元素。我们可以利用 filter 方法,创建一个新数组,只包含非空元素。
示例代码如下:
const arr = [1, 2, null, "", 3, NaN, 4, undefined];
const cleanedArr = arr.filter(Boolean);
console.log(cleanedArr);
运行结果:
[ 1, 2, 3, 4 ]
上面的代码中,我们利用 filter(Boolean) 来过滤掉数组 arr 中的空元素,并将其赋值给 cleanedArr。其中,Boolean 函数会将传入的参数转换成布尔值,因此会过滤掉 null、undefined、空字符串 ""、NaN 等空元素。
方法二:使用 reduce 方法
reduce 方法对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值。我们可以利用 reduce 方法,将非空元素添加到新数组中。
示例代码如下:
const arr = [1, 2, null, "", 3, NaN, 4, undefined];
const cleanedArr = arr.reduce((acc, val) => {
if (val) {
acc.push(val);
}
return acc;
}, []);
console.log(cleanedArr);
运行结果:
[ 1, 2, 3, 4 ]
上面的代码中,我们利用 reduce 方法对数组 arr 进行遍历,并将非空元素添加到 acc 中,最终返回一个新数组 cleanedArr。
方法三:使用 for...of 循环
我们也可以使用 for...of 循环来遍历数组,将非空元素添加到新数组中。
示例代码如下:
const arr = [1, 2, null, "", 3, NaN, 4, undefined];
const cleanedArr = [];
for (const el of arr) {
if (el) {
cleanedArr.push(el);
}
}
console.log(cleanedArr);
运行结果:
[ 1, 2, 3, 4 ]
在上面的代码中,我们使用 for...of 循环遍历数组 arr,并将非空元素添加到 cleanedArr 中。
方法四:使用 forEach 方法
forEach 方法对数组的每个元素执行一次提供的函数。我们可以利用 forEach 方法,将非空元素添加到新数组中。
示例代码如下:
const arr = [1, 2, null, "", 3, NaN, 4, undefined];
const cleanedArr = [];
arr.forEach((el) => {
if (el) {
cleanedArr.push(el);
}
});
console.log(cleanedArr);
运行结果:
[ 1, 2, 3, 4 ]
上面的代码中,我们使用 forEach 方法遍历数组 arr,并将非空元素添加到 cleanedArr 中。
总结
本文介绍了如何在 JavaScript 中清除数组中的空元素,包括使用 filter 方法、reduce 方法、for...of 循环和 forEach 方法等几种常见方法。通过这些方法,可以方便地对数组进行清理,去除空元素,使得数组内容更加规整和准确。根据实际情况和需求,选择适合的方法来清除数组中的空元素。
极客笔记