【编程进阶】js实现一个map函数

实现一个myOwnMap函数:
输入:

[1,2,3].myOwnMap((item, index) => {
    return item *2
})

输出: [2,4,6]

阅读 1.4k
评论
    3 个回答
    • 2.8k

    首先要搞清楚map()函数的用法,传入一个函数,函数允许传三个参数(数组每一项,数组索引,数组本身),并且map()函数有返回值,如此一来也就有思路了:

       Array.prototype.newMap = function(fn,context){
            if(typeof fn !== 'function')return;
            var newArr = [];
            for(var i = 0;i < this.length;i++){
                newArr.push(fn.call(context,this[i],i,this,context));
            }
            return newArr;
        }
        //调用
        [1,2,3].newMap(function(item){
            return item * 2;
        });//[2,4,6]
    
    
    
    
      相似问题
      推荐文章