zoukankan      html  css  js  c++  java
  • 循环实现数组 map 方法

    //循环实现数组 map 方法
        const selfMap = function (fn, context) {
            let arr = Array.prototype.slice.call(this) //map方法不会改变原数组
            let mappedArr = Array(arr.length) //原答案这里是length - 1,我感觉应该是length才对,否则遇到稀疏数组,循环被跳出了,长度会不对
            for (let i = 0; i < arr.length; i++) {
                // 稀疏数组,跳出当前循环
                if (!arr.hasOwnProperty(i)) {
                    continue
                }
                mappedArr[i] = fn.call(context, arr[i], i, this) //方法的三个参数,currentValue, 当前下标, 当前数组
            }
            return mappedArr
        }
    
        Array.prototype.selfMap = selfMap
        var arr1 = [1, 2, 3]
        arr1.length = 5
    
        let arrMap = arr1.selfMap(function (x) {
            return x * 2
        })
        // [2, 4, 6, empty × 2]
    好记性不如烂笔头,看到自己觉得应该记录的知识点,结合自己的理解进行记录,用于以后回顾。
  • 相关阅读:
    第六周学习报告
    第五周学习任务报告
    第四周学习任务报告
    第三周学习任务报告
    第二周(9.14-9.20)学习任务报告
    Top 参数解析
    unpipc.h
    linux 网络编程卷2 笔记
    mysql 主从及配置
    rsync linux
  • 原文地址:https://www.cnblogs.com/wangxi01/p/11080001.html
Copyright © 2011-2022 走看看