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

分类:知识百科 日期: 点击:0

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中去除数组中的空值的几种方法,可以根据实际情况选择合适的方法来实现。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。