一、写在前面
数组的map方法,其中需要传入两个参数,第一个是一个回调函数,第二个是一个回调函数的this指向的值。
二、手写
在手写map方法时,我们需要注意如下问题。
1、回调函数必须是一个函数
2、调用该方法的对象必须是数组。
3、如果数组的大小为0,则直接返回空数组。
Array.prototype.myMap = function (callback, thisArg) {
let length = this.length
let res = []
if (!Array.isArray(this)) throw new TypeError('this is not an array')
if (typeof callback !== 'function') throw new TypeError(callback + 'is not a function')
if (length === 0) {
return res
}
for (let i = 0; i < length; i++) {
res[i] = callback.call(thisArg, this[i], i, this)
}
return res
}
版权声明:本文为weixin_47450807原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。