关键词

JS数组方法reduce的用法实例分析

【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. 数组 [1, 2, 3, 4, 5] 调用 reduce() 方法,初始值为 0。
  2. 回调函数接收两个参数,total 为上次的计算结果(或者初始值),currentValue 为当前元素的值。
  3. 根据当前元素的值将前面累加值 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. 数组 [1, 2, 3, 4, 5] 调用 reduce() 方法,初始值为数组的第一个元素 arr[0]。
  2. 回调函数接收两个参数,total 为上次的计算结果(或者初始值),currentValue 为当前元素的值。
  3. 比较累加值 total 和当前元素的值 currentValue,如果 total 大于 currentValue,返回之前的值;否则返回 currentValue 作为最大值。

以上是对reduce方法的用法实例分析,希望能对大家有所帮助。

本文链接:http://task.lmcjl.com/news/11781.html

展开阅读全文