如何在JavaScript中去除数组中的空值

JavaScript中有很多方法可以去除数组中的空值,下面介绍几种常用的方法:

1、使用Array.filter()方法:Array.filter()方法可以接收一个函数作为参数,这个函数会接收数组的每一项,返回一个布尔值,如果返回true,则这一项会保留,如果返回false,则这一项会被过滤掉。可以使用Array.filter()方法过滤掉数组中的空值,代码如下:

let arr = [1, "", 2, null, 3, undefined, 4];
let newArr = arr.filter(item => item);
// newArr = [1, 2, 3, 4]

2、使用Array.map()方法:Array.map()方法也可以接收一个函数作为参数,这个函数会接收数组的每一项,返回一个新的值,这个新的值会替换原来的值,如果返回undefined,则这一项会被过滤掉。可以使用Array.map()方法过滤掉数组中的空值,代码如下:

let arr = [1, "", 2, null, 3, undefined, 4];
let newArr = arr.map(item => item).filter(item => item);
// newArr = [1, 2, 3, 4]

3、使用Array.reduce()方法:Array.reduce()方法也可以接收一个函数作为参数,这个函数会接收数组的每一项,返回一个新的值,这个新的值会被放入一个新的数组中,如果返回undefined,则这一项会被过滤掉。可以使用Array.reduce()方法过滤掉数组中的空值,代码如下:

let arr = [1, "", 2, null, 3, undefined, 4];
let newArr = arr.reduce((total, item) => {
  if (item) total.push(item);
  return total;
}, []);
// newArr = [1, 2, 3, 4]

4、使用ES6的Array.find()方法:ES6中新增的Array.find()方法可以接收一个函数作为参数,这个函数会接收数组的每一项,返回一个布尔值,如果返回true,则这一项会被保留,如果返回false,则这一项会被过滤掉。可以使用Array.find()方法过滤掉数组中的空值,代码如下:

let arr = [1, "", 2, null, 3, undefined, 4];
let newArr = arr.find(item => item);
// newArr = [1, 2, 3, 4]

以上就是JavaScript中去除数组中的空值的几种方法,可以根据实际情况选择合适的方法来实现。

本文链接:http://task.lmcjl.com/news/12487.html

展开阅读全文