面试题答案
一键面试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
上,最终得到筛选出的数的总和。