filter的使用方法

125 阅读1分钟

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)