前端手写代码面试题
目录

使用 reduce 实现 filter 函数

· 约 2 分钟读完 · 第 14 / 125 章

推荐答案

本题详细解读

1. 函数定义

  • filterUsingReduce 是一个自定义函数,接受两个参数:
    • array:需要过滤的数组。
    • callback:过滤条件函数,用于判断数组中的每个元素是否应该被保留。

2. 使用 reduce 实现过滤

  • reduce 方法接受两个参数:
    • 回调函数:用于处理数组中的每个元素。
    • 初始值:这里是一个空数组 [],用于存储过滤后的结果。

3. 回调函数的参数

  • acc:累加器,初始值为空数组 []。
  • current:当前处理的数组元素。
  • index:当前元素的索引。
  • arr:原始数组。

4. 过滤逻辑

  • 在每次迭代中,调用 callback 函数,传入当前元素、索引和原始数组。
  • 如果 callback 返回 true,则将当前元素 push 到累加器 acc 中。
  • 最后返回累加器 acc,即过滤后的数组。

5. 示例

在这个示例中,filterUsingReduce 函数使用 reduce 方法实现了与原生 filter 方法相同的功能,过滤出数组中的偶数。