JS数组方法reduce经典用法代码分享及实例详解
131 浏览量
更新于2024-09-01
收藏 75KB PDF 举报
JavaScript 数组方法 reduce 经典用法代码分享
reduce() 方法是 JavaScript 数组中一个功能强大且常用的方法,它可以将数组中的每个元素进行累加、合并、统计等操作。下面我们将探讨 reduce() 方法的经典用法代码片段,并对其进行详细的解释。
**理解 reduce 函数**
reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。其基本语法为:`arr.reduce([callback, initialValue])`。
**例子:累加数组元素**
let arr = [1, 2, 3, 4, 5];
let sum = arr.reduce((p, c) => p + c, 10); // 25
在这个例子中,我们使用 reduce() 方法将数组中的每个元素进行累加,初始值为 10。reduce() 方法会将数组中的每个元素传递给回调函数,回调函数将累加器(p)和当前元素(c)进行相加,并返回结果。
**片段一:字母游戏**
const anagrams = str => {
if (str.length <= 2) {
return str.length === 2 ? [str, str[1] + str[0]] : str;
}
return str.split("").reduce((acc, letter, i) => {
return acc.concat(anagrams(str.slice(0, i) + str.slice(i + 1)).map(val => letter + val));
}, []);
}
anagrams("abc"); // 结果是什么呢?
在这个例子中,我们使用 reduce() 方法来生成所有可能的字母排列组合。reduce() 方法负责筛选出每一次执行的首字母,递归负责对剩下字母的排列组合。
**片段二:累加器**
const sum = arr => arr.reduce((acc, val) => acc + val, 0);
sum([1, 2, 3]);
在这个例子中,我们使用 reduce() 方法来累加数组中的每个元素。reduce() 方法将数组中的每个元素传递给回调函数,回调函数将累加器(acc)和当前元素(val)进行相加,并返回结果。
**片段三:计数器**
const countOccurrences = (arr, value) => arr.reduce((a, b) => a + (b === value ? 1 : 0), 0);
在这个例子中,我们使用 reduce() 方法来统计数组中某个值的出现次数。reduce() 方法将数组中的每个元素传递给回调函数,回调函数将累加器(a)和当前元素(b)进行比较,如果当前元素等于目标值,则将累加器加 1,否则不变。
reduce() 方法是 JavaScript 数组中一个功能强大且常用的方法,它可以将数组中的每个元素进行累加、合并、统计等操作。通过本文,我们可以更好地理解 reduce() 方法的实例用法,并掌握它的经典用法代码片段。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-11-20 上传
2020-11-29 上传
2023-09-02 上传
2023-07-28 上传
2023-08-18 上传
2023-09-26 上传