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

yizhihongxing

【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方法的用法实例分析,希望能对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS数组方法reduce的用法实例分析 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 解决idea开发遇到javascript动态添加html元素时中文乱码的问题

    解决idea开发遇到JavaScript动态添加HTML元素时中文乱码的问题有多种方案,以下是其中一种常见的解决方法: 前置知识 在讲解具体解决方案之前,需要了解如下几个前置知识: HTML的默认字符集是ISO-8859-1 不支持中文显示,可以通过设置charset属性来修改字符集 JavaScript中字符串编码方式默认为UTF-16 如果在JavaSc…

    JavaScript 2023年5月19日
    00
  • JavaScript history 对象详解

    JavaScript history 对象详解 什么是 history 对象? history 对象是浏览器的一部分,它存储了用户在浏览器窗口中所访问过的 URL。它提供了一些方法来操作该历史记录,例如前进、后退和重新加载等。当用户点击浏览器的后退或前进按钮时,这些方法就会被触发,并导航到相应的 URL。history 对象是 window 对象的一个属性,…

    JavaScript 2023年5月27日
    00
  • 每天一篇javascript学习小结(面向对象编程)

    关于“每天一篇javascript学习小结(面向对象编程)”的完整攻略,我来给你详细讲解一下。 攻略概述 在学习面向对象编程的过程中,我们需要掌握以下知识点: 对象的创建 原型和原型链 类和继承 ES6类的写法 在每天的学习小结中,我们需要围绕上述知识点展开学习,并且需要编写实际的代码来加深对于知识点的理解和掌握。 学习步骤 下面是一个比较详细的“每天一篇j…

    JavaScript 2023年5月27日
    00
  • React组件通信浅析

    React组件通信是React应用中非常重要的一部分。由于React应用的构建主要是通过组件开发来完成的,所以组件之间的通信非常重要。这篇文章将详细介绍React组件通信的方式。 组件通信的基本概念 React组件可以分为两种类型:父组件和子组件。父组件可以使用props将数据传递给子组件,子组件可以通过调用传递的方法来通知父组件。这是React组件之间通信…

    JavaScript 2023年6月11日
    00
  • JavaScript 学习点滴记录

    JavaScript 学习指南 前言 JavaScript 是一种脚本语言,普遍应用于 Web 开发中。JavaScript 是一种动态的、弱类型解释性语言,并且具有多范式的特性,如面向对象、命令式、声明式等。 在学习 JavaScript 的过程中,我们需要学习它的基本语法和常见的应用。随着学习的深入,我们可以从以下几个方面来拓展自己的知识面: 前端框架和…

    JavaScript 2023年5月27日
    00
  • event.srcElement+表格应用

    Sure! 什么是 event.srcElement? event.srcElement是一种废弃的DOM属性,用于获取触发事件的元素。目前更推荐使用 event.target属性来代替它。event.target返回事件发生时的元素,而event.srcElement在特定情况下返回与event.target相同的值。但是有一些情况下event.srcEl…

    JavaScript 2023年6月10日
    00
  • javascript实现检验的各种规则

    对于JavaScript实现验证规则的攻略,我们可以有以下步骤: 步骤一:梳理验证规则 首先,我们需要梳理需要验证的规则,例如: 邮箱格式是否正确 手机号格式是否正确 密码是否符合要求 等等 步骤二:编写验证函数 接下来,我们需要编写验证函数来实现验证规则。可以定义一个公共的函数,如 validator(),接收两个参数,一个是需要验证的值,另一个是规则。示…

    JavaScript 2023年5月20日
    00
  • js调用本地exe程序的两种方式小结

    下面我将详细讲解“js调用本地exe程序的两种方式小结”,包含两条示例说明。 1. 使用ActiveXObject Windows中的IE浏览器支持ActiveX控件,可以使用ActiveXObject对象调用本地exe程序。具体步骤如下: 创建一个ActiveX对象,可以使用new ActiveXObject或者comCreateObject方法。 调用创…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部