filter 方法、reduce 方法 区别

filter 方法和 reduce 方法是 JavaScript 数组的两个常用方法,它们在功能和用法上有一些区别。

  1. filter 方法:

    • 功能:filter 方法用于过滤数组中的元素,返回一个新的数组,其中包含满足指定条件的元素。
    • 用法:filter 方法接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行判断,如果返回值为 true,则将该元素添加到新数组中,否则不添加。
    • 示例:
      const numbers = [1, 2, 3, 4, 5];
      const evenNumbers = numbers.filter(num => num % 2 === 0);
      console.log(evenNumbers); // [2, 4]
      
  2. reduce 方法:

    • 功能:reduce 方法用于对数组中的元素进行累积计算,返回一个最终的结果。
    • 用法:reduce 方法接受一个回调函数和一个初始值作为参数。回调函数接受两个参数,第一个参数是累积值(初始值或上一次回调函数的返回值),第二个参数是当前元素。回调函数会对数组中的每个元素进行计算,并将计算结果作为下一次回调函数的累积值。
    • 示例:
      const numbers = [1, 2, 3, 4, 5];
      const sum = numbers.reduce((acc, num) => acc + num, 0);
      console.log(sum); // 15
      

总结:

  • filter 方法用于过滤数组中的元素,返回一个新的数组。
  • reduce 方法用于对数组中的元素进行累积计算,返回一个最终的结果。
  • filter 方法的回调函数返回值为 truefalse,用于判断是否将元素添加到新数组中。
  • reduce 方法的回调函数返回值为累积值,用于下一次回调函数的计算。
  • filter 方法不会改变原数组,而 reduce 方法可以改变原数组。

工具大全:https://aiburgeon.com/siteCollection/

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_25741071/article/details/132583166
今日推荐