08 # 手写 filter 方法

简介: 08 # 手写 filter 方法

什么是 filter

filter() 方法创建给定数组一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。如果没有元素通过测试,则返回一个空数组。

  • ele:表示数组中的每一个元素
  • index:表示数据中元素的索引
  • array:表示数组
<script>
    var arr = [1, 3, 5, 7, 9];
    var result = arr.filter(function (ele, index, array) {
        console.log("ele----->", ele);
        console.log("index----->", index);
        console.log("array----->", array);
        return ele > 6;
    });
    console.warn("result----->", result);
</script>

手写 filter

<script>
    var arr = [1, 3, 5, 7, 9];
    var result = arr.filter(function (ele, index, array) {
        console.log("ele----->", ele);
        console.log("index----->", index);
        console.log("array----->", array);
        return ele > 6;
    });
    console.warn("result----->", result);
    Array.prototype.kaimoFilter = function (fn) {
        let arr = [];
        for (let i = 0; i < this.length; i++) {
            // fn 是 kaimoFilter 中传递的参数,是一个函数,this 是 arr
            let res = fn(this[i], i, this);
            if (res) {
                arr.push(this[i]);
            }
        }
        return arr;
    };
    var result2 = arr.kaimoFilter(function (ele, index, array) {
        console.log("ele---kaimoFilter-->", ele);
        console.log("index---kaimoFilter-->", index);
        console.log("array---kaimoFilter-->", array);
        return ele > 6;
    });
    console.warn("result2---kaimoFilter-->", result2);
</script>




目录
相关文章
|
3月前
|
前端开发 JavaScript BI
JavaScript的过滤大师:深度解析Filter用法
JavaScript的过滤大师:深度解析Filter用法
80 0
|
5月前
|
索引
06 # 手写 map 方法
06 # 手写 map 方法
22 0
|
5月前
|
索引
07 # 手写 find 方法
07 # 手写 find 方法
20 0
|
7月前
|
JavaScript
过滤器(filter)的基本使用 + 时间戳转化为相对日期过滤器代码封装
过滤器(filter)的基本使用 + 时间戳转化为相对日期过滤器代码封装
34 0
|
10月前
|
存储 Java 开发者
|
前端开发
前端学习案例14-数组遍历方法4-filter使用
前端学习案例14-数组遍历方法4-filter使用
38 0
前端学习案例14-数组遍历方法4-filter使用
手写@Async注解
手写@Async注解
59 0
手写@Async注解
手写系列 # 3:实现 call 方法
手写系列 # 3:实现 call 方法
43 0
手写系列 # 3:实现 call 方法
|
JavaScript 前端开发 程序员
JavaScript进阶操作之过滤filter
引入 我们在日常生活中,不难遇到一个非常耗时间的工作——筛选。 比如,帮老师筛查出不及格的人数,帮老总筛选出上班考勤全满的人——掘金工作人员筛选出更文数量在30以上的创作者(不是)…… 人肉计数和筛查显然非常低效,而且很容易出错。计算机就是用来帮我们干这件事的。很多人估计第一反应回是用循环,遍历所有元素,满足条件提出来,不满足就下一个
JavaScript进阶操作之过滤filter
|
索引
从underscore源码看如何实现map函数
经常会看到这样的面试题,让面试者手动实现一个 map 函数之类的,嗯,貌似并没有什么实际意义。但是对于知识探索的步伐不能停止,现在就来分析下如何实现 map 函数。
73 0
从underscore源码看如何实现map函数