js里的filter函数

2019-10-09  本文已影响0人  绿啊绿啊绿刺猬

参考: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]
上一篇下一篇

猜你喜欢

热点阅读