其他分享
首页 > 其他分享> > 高阶函数

高阶函数

作者:互联网

定义

一个函数的参数是函数,那么这个函数就是高阶函数。数组的遍历方法就是高阶函数,如:forEachmap等等。

细节

手写数组函数

forEach

function myForEach(arr, cb) {
  for (let i = 0; i < arr.length; i++) {
    cb.call(arr, arr[i], i, arr);
  }
}

map

function myMap(arr, cb) {
  const result = [];
  for (let i = 0; i < arr.length; i++) {
    result.push(cb.call(arr, arr[i], i, arr));
  }
  return result;
}

reduce

function myReduce(arr, cb, init) {
  let result = arr[0];
  let i = 1;
  if (init) {
    i = 0;
    result = init;
  }
  for (; i < arr.length; i++) {
    result = cb.call(arr, result, arr[i], i, arr);
  }
  return result;
}

标签:arr,函数,cb,call,result,let,高阶
来源: https://www.cnblogs.com/mengyuantongxue/p/15913776.html