前端面试题:95. 聊聊reduce原理,手写reduce

reduce是一个非常有用的函数,它可以将一个集合中的元素通过指定的操作进行累积。其原理非常简单,以JavaScript为例,手写一个reduce函数如下:

function reduce(arr, reducer, initialValue) {
  let accumulator = initialValue;

  for (let i = 0; i < arr.length; i++) {
    accumulator = reducer(accumulator, arr[i]);
  }

  return accumulator;
}

这个reduce函数接受三个参数:arr(数组),reducer(函数)和initialValue(初始值)。在函数内部,首先声明一个变量accumulator用于保存累积结果,并将其赋值为初始值。

然后使用一个循环遍历数组中的每个元素,将当前的累积结果和当前元素传递给reducer函数进行处理,并将返回的结果更新到accumulator中。

最后,将最终的累积结果作为函数的返回值。

例如,我们可以使用reduce函数来计算数组中所有元素的总和:

const numbers = [1, 2, 3, 4, 5];

const sum = reduce(numbers, (accumulator, current) => accumulator + current, 0);

console.log(sum); // 输出: 15

在上面的例子中,初始值设置为0,累积操作即为相加(accumulator + current),最终得到了数组中所有元素的总和15。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYx546Hj' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片