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>




目录
相关文章
|
6月前
13 # 手写 concat 方法
13 # 手写 concat 方法
52 0
|
6月前
03 # 手写 call
03 # 手写 call
37 0
|
5月前
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
33 0
|
6月前
|
Java 应用服务中间件 API
从零手写实现 tomcat-11-filter 过滤器
该文是关于手写实现 Apache Tomcat 的系列教程简介。作者希望通过亲自实现一个简化版来深入理解 Tomcat 的工作原理。系列教程包括了从解析 `web.xml`、基础的 Socket 实现到 Filter、Servlet 支持、线程池以及与 SpringBoot 集成等内容。文中以 Filter 为例,解释了其在网络请求中的作用,如检查和修改请求与响应,并给出了简单的 Filter 实现代码。最后提到了在 MiniCat(作者的简易 Tomcat 实现)中如何处理 Filter,并提供了项目的开源地址。
|
6月前
|
索引
07 # 手写 find 方法
07 # 手写 find 方法
54 0
|
6月前
|
索引
06 # 手写 map 方法
06 # 手写 map 方法
50 0
|
前端开发
前端学习案例14-数组遍历方法4-filter使用
前端学习案例14-数组遍历方法4-filter使用
57 0
前端学习案例14-数组遍历方法4-filter使用
手写@Async注解
手写@Async注解
83 0
手写@Async注解
手写系列 # 5:实现 bind 方法
手写系列 # 5:实现 bind 方法
84 0
手写系列 # 5:实现 bind 方法
手写系列 # 3:实现 call 方法
手写系列 # 3:实现 call 方法
58 0
手写系列 # 3:实现 call 方法