zoukankan      html  css  js  c++  java
  • es5实现map/filter

    // ES5循环循环实现filter

    const selfFilter = function (fn, context) {
    
        let arr = Array.prototype.slice.call(this)
    
        let filteredArr = []
    
        for (let i = 0; i < arr.length; i++) {
    
            if(!arr.hasOwnProperty(i)) continue;
    
             fn.call(context, arr[i], i, this) && filteredArr.push(arr[i])
    
        }
    
        return filteredArr
    
    }

     

     

    // ES5循环实现map

    const selfMap = function (fn, context) {
    
        let arr = Array.prototype.slice.call(this)
    
        let mappedArr = []
    
        for (let i = 0; i < arr.length; i++) {
    
            // 判断稀疏数组的情况
    
            if (!arr.hasOwnProperty(i)) continue;
    
            mappedArr.push(fn.call(context, arr[i], i, this))
    
        }
    
        return mappedArr
    
    }

     

    // reduce实现map

    const selfMap2 = function (fn, context) {
    
        let arr = Array.prototype.slice.call(this)
    
        return arr.reduce((pre, cur, index) => {
    
            return [...pre, fn.call(context, cur, index, this)]
    
        }, [])
    
    }
  • 相关阅读:
    mydumper/myloader使用详解
    myloader原理介绍
    mydumper原理介绍
    mydumper安装
    sysbench压测mysql基本步骤
    sysbench 0.4.12安装
    MySQL5.7多源复制
    PXC5.7集群部署
    destoon8.0生成输出热门搜索sitemap地图方法
    百度+搜狗快排程序核心代码分享
  • 原文地址:https://www.cnblogs.com/qdcnbj/p/11186832.html
Copyright © 2011-2022 走看看