ES5新增数组方法(1):filter
检测数组元素,并返回符合条件所有元素的数组。
1、过滤数组中不符合条件的元素
let arr = [1, 2, 3, 4, 5, 6]; // 方式一 let newArr = arr.filter((value, index, array) => { if(value % 2 === 0) { return value } }); console.log(newArr);// [ 2, 4, 6 ] // 方式二 newArr = arr.filter((item) => item % 2 === 0); console.log(newArr);// [ 2, 4, 6 ]
2、过滤数组中空字符串、undefined、null的元素
let arr = ['a', '', 'b', undefined, 'c', null]; let newArr = arr.filter(item => item); console.log(newArr);// [ 'a', 'b', 'c' ]
3、过滤数组中重复的元素(数组去重)
let arr = [1, 2, 2, 3, 3, 3, 4, 5]; let newArr = arr.filter((value, index, array) => array.indexOf(value) === index); console.log(newArr);// [ 1, 2, 3, 4, 5 ]