MST
星途 面试题库

面试题:JavaScript中filter和reduce结合使用

给定一个数组[10, 20, 35, 40, 55],先使用filter方法筛选出能被5整除的数,然后使用reduce方法计算这些筛选出的数的总和,写出实现代码并说明filter和reduce在这个过程中的作用。
19.3万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
const arr = [10, 20, 35, 40, 55];
const result = arr.filter(num => num % 5 === 0).reduce((acc, num) => acc + num, 0);
console.log(result);
  • filter的作用filter方法用于创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。在上述代码中,arr.filter(num => num % 5 === 0) 会遍历数组 arr 中的每一个元素,判断每个元素是否能被5整除,如果能则保留在新数组中,最终返回一个只包含能被5整除的数的新数组。
  • reduce的作用reduce方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。在上述代码中,reduce((acc, num) => acc + num, 0) 是对filter筛选出的数组进行累加操作。acc 是累加器初始值为0,num 是数组中的每个元素,通过不断将num加到acc上,最终得到筛选出的数的总和。