本文正在参与掘金团队号上线活动,点击 查看大厂春招职位
一、题目描述:
实现对象的 Map 函数类似 Array.prototype.map
二、思路分析:
Array.prototype.map():
- 参数:callback生成新数组元素的函数,使用三个参数:
- currentValue:callback 数组中正在处理的当前元素
- index可选:callback 数组中正在处理的当前元素的索引。
- 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);
}, {})
}
四、总结:
试着参加掘金活动打个卡;