题解 | #Array.map#

Array.map

https://www.nowcoder.com/practice/8300c998180c4ebbbd2a5aaeb7fbc77c

先来了解下原生 map 函数。

map 函数用于对数组元素进行迭代遍历,返回一个新函数并不影响原函数的值。
map 函数接受一个 callback 函数以及执行上下文参数,callback 函数带有三个参数,分别是迭代的当前值,迭代当前值的索引下标以及迭代数组自身。map 函数会给数组中的每一个元素按照顺序执行一次 callback 函数。
实现:

for 循环

实现思路其实挺简单,使用 for 循环对原数组进行遍历,每个元素都执行一遍回调函数,同时将值赋值给一个新数组,遍历结束将新数组返回。

将自定义的 _map 函数依附在 Array 的原型上,省去了对迭代数组类型的检查等步骤。

Array.prototype._map = function(iteratee, context) {
    var arr = this;
    var newArr = [];
    for(var i=0; i<arr.length; i++) {
        newArr[i] = iteratee.call(context, arr[i], i, arr);
    }
    return newArr;
}


全部评论
非常受教!
点赞 回复 分享
发布于 2023-03-06 19:44 湖南

相关推荐

挥毫自在:想白嫖你呢
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务