定义和用法
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
filter的作用:过滤数组中符合条件的元素
过滤掉 空元素、null、undefined
var arr = [1, 2, , 3, , -3, null, , 0, , undefined, 4, , 4, , 5, , 6, , , , ]; let result = arr.filter(item=>item) console.log(result) //[1, 2, 3, -3, 4, 4, 5, 6]
过滤掉 对象数组中不符合条件的对象
let arr = [ { "id": 2, "key": "mobile", "Configable": false, "isRequired": true }, { "id": 4, "key": "address", "Configable": false, "isRequired": true }, { "id": 6, "key": "faceInfo", "Configable": true, "isRequired": true } ]; let result = arr.filter(item => item.key === "faceInfo") console.log(result)
数组去重
let arr = [, 1, 2, 2, 1, 3, 5, 3]; let result = arr.filter((item,index) => arr.indexOf(item) === index) console.log(result)