JS如何实现手写forEach算法

  介绍

小编这次要给大家分享的是JS如何实现手写forEach算法,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

<强>手写forEach

<代码> forEach() 方法对数组的每个元素执行一次提供的函数

加勒比海盗。forEach(回调(currentValue[、索引[,数组]])[,thisArg]);

    <李>

      <李> currentValue
        ,,数组中正在处理的当前元素。 <李>指数可选
        ,,数组中正在处理的当前元素的索引。 <李>阵列可选
        ,,forEach()方法正在操作的数组。 <李> thisArg可选
        ,,可选参数。当执行回调函数回调时,用作这样的值。
    <李>没有返回值

如果提供了一个参数给<代码> forEach 函数,则参数将会作为回调函数中的<代码> 值,否则<代码> 值为。回调函数中<代码> 的绑定是根据函数被调用时通用的<代码> 绑定规则来决定的。

功能计数器(){
  这一点。金额=0;
  这一点。数=0;
  }//因为thisArg参数(这)传给了forEach(),每次调用时,它都被传给回调函数,作为它的值。
  Counter.prototype。添加=function(数组){
  array.forEach(函数(条目){
  这一点。和+=条目;
  + + this.count;
  });//^——注意
  };
  
  const obj=new计数器();
  obj。添加((2、5、9));
  obj.count;//3===(1 + 1 + 1)
  obj.sum;//16===(2 + 5 + 9)
    <李>每个数组都有这个方法李 <>李回调参数为:每一项,索引,原数组
Array.prototype。thisArg forEach=函数(fn) {   var _this;   如果(typeof fn !==癴unction") {   把“参数必须为函数“;   }   如果参数。长度比;1){   _this=thisArg;   }   如果(! Array.isArray (arr)) {   把“只能对数组使用forEach方法“;   }      (让指数=0;指数& lt;arr.length;指数+ +){   fn。调用(_this, arr(指数)指数,arr);   }   };

看完这篇关于JS如何实现手写forEach算法的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

JS如何实现手写forEach算法