美文网首页
js里的filter函数

js里的filter函数

作者: 绿啊绿啊绿刺猬 | 来源:发表于2019-10-09 15:07 被阅读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]
    

    相关文章

      网友评论

          本文标题:js里的filter函数

          本文链接:https://www.haomeiwen.com/subject/zsavpctx.html