JavaScript中的reduce()方法详解

分类:知识百科 日期: 点击:0

JavaScript中的reduce()方法

JavaScript中的reduce()方法是一个高阶函数,它接受一个函数作为参数,该函数会对数组中的每个元素反复调用,以生成单个的最终值。它的原型如下:

arr.reduce(callback[, initialValue])

其中,callback参数是一个函数,它接受4个参数:

  • previousValue:上一次调用回调返回的值,或者是提供的初始值(initialValue)。
  • currentValue:数组中当前被处理的元素。
  • index:当前元素在数组中的索引。
  • array:调用 reduce()的数组。

示例:求数组中所有元素的和:

var arr = [1,2,3,4,5];
var sum = arr.reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
});
console.log(sum); // 15

如果提供了initialValue,则previousValue将会是这个值,currentValue则为数组中的第一个元素:

var arr = [1,2,3,4,5];
var sum = arr.reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
}, 10);
console.log(sum); // 25

示例:求数组中所有元素的乘积:

var arr = [1,2,3,4,5];
var product = arr.reduce(function(previousValue, currentValue, index, array) {
  return previousValue * currentValue;
});
console.log(product); // 120

reduce()方法可以用于实现数组的拼接:

var arr = [1,2,3,4,5];
var str = arr.reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
}, "");
console.log(str); // "12345"

reduce()方法也可以用于对象数组的操作:

var arr = [
  {name: "Tom", age: 18},
  {name: "Jack", age: 20},
  {name: "John", age: 22}
];
var totalAge = arr.reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue.age;
}, 0);
console.log(totalAge); // 60

:JavaScript中的reduce()方法是一个高阶函数,它接受一个函数作为参数,可以用来对数组中的每个元素进行计算,以生成单个的最终值。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。