【JS数组方法reduce的用法实例分析】
简介
reduce() 方法可以用于在 JavaScript 数组中的所有元素上执行一个 reducer 函数(指定一个回调函数来依次执行数组中每个值)。
reduce() 方法的返回值为最终累计结果的值,例如,对于数组 [1, 2, 3, 4] ,调用 reduce() 方法,则最终的返回值为 10 (数组各元素之和)。
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数说明:
- total:必需。初始值,或者计算结束后的返回值。
- currentValue:必需。当前元素。
- currentIndex:可选。当前元素下标。
- arr:可选。当前元素所属的数组对象。
- initialValue:可选。作为第一次调用 callback 回调函数时的第一个参数的值。
用法实例
案例1:数组求和
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function (total, currentValue) {
return total + currentValue;
}, 0);
console.log(sum); // 15
解析:
- 数组 [1, 2, 3, 4, 5] 调用 reduce() 方法,初始值为 0。
- 回调函数接收两个参数,total 为上次的计算结果(或者初始值),currentValue 为当前元素的值。
- 根据当前元素的值将前面累加值 total 加上 currentValue ,并返回累加之后的结果。
案例2:数组求最大值
const arr = [1, 2, 3, 4, 5];
const max = arr.reduce(function (total, currentValue) {
if (total > currentValue) {
return total;
} else {
return currentValue;
}
}, arr[0]);
console.log(max); // 5
解析:
- 数组 [1, 2, 3, 4, 5] 调用 reduce() 方法,初始值为数组的第一个元素 arr[0]。
- 回调函数接收两个参数,total 为上次的计算结果(或者初始值),currentValue 为当前元素的值。
- 比较累加值 total 和当前元素的值 currentValue,如果 total 大于 currentValue,返回之前的值;否则返回 currentValue 作为最大值。
以上是对reduce方法的用法实例分析,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS数组方法reduce的用法实例分析 - Python技术站