代码实现Map 函数 | 刷题打卡

158 阅读1分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

一、题目描述:

实现对象的 Map 函数类似 Array.prototype.map

二、思路分析:

Array.prototype.map():

  • 参数:callback生成新数组元素的函数,使用三个参数:
  1. currentValue:callback 数组中正在处理的当前元素
  2. index可选:callback 数组中正在处理的当前元素的索引。
  3. array可选:map 方法调用的数组。
  • thisArg可选 执行 callback 函数时值被用作this。
  • 返回值 一个由原数组每个元素执行回调函数的结果组成的新数组。

实现对象的map函数,暂定义为objMap,callback生成新对象元素的函数,有三个参数;

三、AC 代码:

Object.prototype.map = function (handleFn) {
  return Object.keys(this).reduce((newObj, key) => {
    return newObj[key] = handleFn(this[key], key, this);
  }, {})
}

四、总结:

试着参加掘金活动打个卡;