题解 | #Array.map#

Array.map

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

Array.prototype._map = function (Fn) {
    const that = this; // 传入的数组
    const ansArr = []; // 新建一个存储数组
  // 使用 forEach 进行遍历,因为 Fn 会传三个属性 值:item,索引:index,原数组:element,不能使用forof
    that.forEach((item,index,element)=>{
	  // 传入参数并且进行 Fn 操作,将每次返回的结果赋值给 resElement;
        const resElement = Fn(item,index,element);
        ansArr.push(resElement); // push 进数组
    })
    return ansArr;
}

// 定义一个 Fn
function fn(item) {
    return item * 2
}
// 定义一个数组
const arr = [1, 2];
// 正常 map 返回的结果
const testArr = arr.map(item => {
    return item * 2
})
console.log(testArr); // [2,4]
// 模拟 _map 返回的结果
console.log(arr._map(fn)); //[2,4]

全部评论

相关推荐

大疆在线测评都考什么呀,会考企业概况啥的吗
又被画饼了的做题家很...:不会。刚做完,就是材料分析、态度题、算术题、逻辑题。总共60道。
投递大疆等公司7个岗位
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 13:54
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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