参考:https://blog.csdn.net/ctf_0226/article/details/81171914
(主要是参考上面文章里的,为了方便自己查阅和理解,自己敲了一遍,如果有不对的地方请批评指正,谢谢.)
定义和用法
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
一. filter函数的参数:
// filter函数的参数
let arr = ['a', 'b', 'c']
let array = arr.filter((item, index, self) => {
console.log(item, index, self)
//依次返回 a 0 (3) ["a", "b", "c"] b 1 (3) ["a", "b", "c"] c 2 (3) ["a", "b", "c"]
//即第一个参数是里面的元素,第二个参数为元素索引值,第三个参数为数组本身
})
二. filter函数的应用:
1.用filter筛选出数组里所有偶数:
// 1.用filter筛选出数组里所有偶数
let arr1 = [1, 2, 3, 4, 5, 6]
let arr2 = arr1.filter(item => {
return item % 2 == 0
})
console.log(arr2) // [2, 4, 6]
2.删掉数组中的空字符串:
// 2.删掉数组中的空字符串
let arr3 = [12, '' , 123, 'a', 'bb']
let arr4 = arr3.filter(item => {
return item && item.trim() //注意:IE9以下的版本没有trim()方法
})
console.log(arr4)
3.利用filter实现数组去重:
// 3.filter数组去重
let arr5 = ['11', 'aaa', 'bb', 'aaa', 'bb']
let arr6 = []
arr6 = arr5.filter((item, index, self) => {
return self.indexOf(item) === index
})
console.log(arr6) // ["11", "aaa", "bb"]
4.过滤掉数组里的小值:
let arr7 = [1, 2, 3, 4, 5, 7, 60]
let arr8 = arr7.filter(item => {
return item >= 4
})
console.log(arr8) //[4, 5, 7, 60]
网友评论