Javascript map() 函数实现原理

上代码

通过数组原型添加swipeArr方法,绑定到原型上,至此所有的数组统一使用该方法


Array.prototype.swipeArr = function(fn, context){
  const arr = this;
  // context = Object(context) || global;
  const resarr = [];
  for(let i =0;i<arr.length;i++){
    let item = arr[i];
    if(i%2 !== 0){
      res = fn.call(this, item, i, arr);
      resarr.push(res);
    }
  }
  return resarr;
}
//查看绑定效果
console.log(Array.prototype);
//测试效果
 [1,2,3].swipeArr(function(params){
   console.log(params)
 })

测试调用结果,如下图:
效果图
理解了以上原理,就可以自由组合,编写自己想要的过滤方法

猜你喜欢

转载自blog.csdn.net/battlePlaze/article/details/93746376