JS之数组中的reduce方法
reduce
方法对数组中的每个元素执行一个提供的reducer函数(升序执行),将其结果汇总为单个输出值。
语法:
arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
参数:
callback
:执行数组中的每个值的函数,包含四个参数:accumulator
:累加器,即上一次回调函数执行时的结果。currentValue
:当前数组中正在处理的元素。index
(可选):当前元素在数组中的索引。array
(可选):调用reduce的数组。
initialValue
(可选):作为第一次调用callback的第一个参数。
返回值:
- 通过最后一次回调函数调用结果。
示例代码:
// 求数组中所有数的和
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出:15
// 数组中最大值
const max = numbers.reduce((accumulator, currentValue) => (accumulator > currentValue ? accumulator : currentValue));
console.log(max); // 输出:5
// 将二维数组转化为一维
const flatten = [[0, 1], [2, 3], [4, 5]].reduce((accumulator, currentValue) => accumulator.concat(currentValue), []);
console.log(flatten); // 输出:[0, 1, 2, 3, 4, 5]
评论已关闭