手写数组的map方法
一、写在前面
数组的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 }

浙公网安备 33010602011771号