filter是数组的一个方法。不改变原数组 用于过滤元素 返回剩余元素
filter((item,index,array)=> {
})
可以接收一个参数(函数),函数有三个参数 item 为当前检索项,index为当前检索项下标,array为数组本身。 返回全部满足条件的item。
每一个参数
var arr = ['A','B','C']
arr.filter((item,index,arr)=> {
console.log(item)//依次输出为'A' 'B' 'C'
console.log(index)//依次输出为1 2 3
console.log(arr)//依次输出为['A','B','C'] ['A','B','C'] ['A','B','C']
})
删除数组中的偶数
var arr = [1,2,3,4,4,4,4,4,1,3,4,2,4,24]
let arr1 = arr.filter((item)=> {
return item % 2 !== 0
})
console.log(arr1)//[1,3,1,3]
去除重复元素
var arr = [1,2,2,2,2,1,3,4,5,6,7,8,8,8,7,5,9]
let arr1 = arr.filter((item,index,array)=> {
return array.indexOf(item) === index//返回满足条件的item
})
//原数组中查找item 总是返回第一个的下标 与当前索引下标做对比
console.log(arr1)//[1,2,3,4,5,6,7,8,9]
去除数组中的空值
var arr = ['','','','','string']
let arr1 = arr.filter((item)=> {
return item.trim()//trim()方法为去除空字符串 trim()只能用在字符串
})
console.log(arr1)