Array.prototype._map = Array.prototype.map || function (fn) {
//通过Object方式判断传入参数是否是函数
if (Object.prototype.toString.call(fn)!="[object Function]"){
//抛出一个error
throw new Error("传入参数不是函数");
}
var newArr = [];
//获取需要遍历的数组
var arr = this;
for (var i = 0;i<arr.length;i++) {
var s = fn.call(this,arr[i],i,arr);
if (s) {
newArr.push(s);
}
}
return newArr;
}
var s = [1,2,3,4]._map(function(val,index,arr){
console.log(index);
console.log(arr);
if (val>2) {
return val;
}
})
console.log(s);