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

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

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

相关文章

  • javascript实现unicode和字符的互相转换

    javascript实现unicode和字符的互相转换是一个比较常见的需求,下面是一些常见实现方式: 使用charCodeAt()方法将字符转换成unicode JavaScript中有一个内置方法叫做charCodeAt(),可以返回指定位置的字符的Unicode值。使用该方法,可以将字符转换成对应的Unicode值。 下面是一个将字符串中的每个字符转换成…

    JavaScript 2023年5月19日
    00
  • javascript实现yield的方法

    实现yield的方法是通过生成器函数(generator function)来实现的,生成器函数通过内部控制函数执行的流程,实现了生成器对象的迭代和暂停。 下面是实现yield的步骤: 第一步,定义生成器函数 生成器函数是在函数名前面添加星号(*),并且在函数内部使用yield语句。yield语句将函数的执行暂停,并将值返回给调用者。 示例1,一个简单的生成…

    JavaScript 2023年5月18日
    00
  • js数组forEach实例用法详解

    JavaScript Array forEach() 方法详解 JavaScript中的forEach()函数是用于数组循环的方法,可以遍历数组的每个元素并对其进行操作。该方法在ECMAScript 5 (ES5)中被引入,不仅适用于所有数组,而且可以处理类数组对象。 语法 forEach() 方法有两个参数,第一个是一个回调函数,第二个是可选的this值。…

    JavaScript 2023年5月27日
    00
  • element-ui 上传图片后标注坐标点

    下面将详细讲解“element-ui上传图片后标注坐标点”的完整攻略。 准备工作 安装 element-ui 组件库和 vue-cropperjs 图片裁剪插件。 npm install element-ui vue-cropperjs –save 引入 element-ui 中的 Upload 和 Dialog 组件。 <template> …

    JavaScript 2023年6月10日
    00
  • JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)

    JS数组操作是对数组进行增加、删除、翻转、转字符串、取索引、截取、剪接和数组合并等常见操作。 增加操作 数组的增加操作包括push和unshift,push用于在数组末尾添加一个或多个元素,unshift用于在数组开头添加一个或多个元素。示例如下: let arr = [1, 2, 3]; // push arr.push(4); console.log(a…

    JavaScript 2023年5月27日
    00
  • 如何开发一个渐进式Web应用程序PWA

    如何开发一个渐进式Web应用程序(PWA)的完整攻略主要包含以下步骤: 1. 确定应用程序的功能 在开发PWA之前,我们需要明确我们的应用程序所需要实现的功能。这样有助于我们更好地明确开发的方向和目标。 2. 设计您的应用程序的用户界面 设计好应用程序的用户界面是非常重要的。因为它直接影响用户对您的应用程序的使用体验。 3. 选择合适的PWA框架 目前,有许…

    JavaScript 2023年6月11日
    00
  • 在vue中实现嵌套页面(iframe)

    在vue中实现嵌套页面(iframe)需要进行以下步骤: 步骤一:安装依赖 使用vue-cli等工具创建一个vue项目后,在项目根目录下执行以下命令,安装vue-iframe包 npm install –save vue-iframe 步骤二:注册组件 打开项目的main.js,注册全局组件 import Vue from ‘vue’ import vue…

    JavaScript 2023年6月11日
    00
  • JS中数组Array的用法示例介绍

    下面是JS中数组Array的用法示例介绍的完整攻略。 数组定义与初始化 数组定义了一系列变量,可以通过一个变量名获取其中任意一个变量的值。在 JavaScript 中,可以使用以下方式来定义和初始化一个数组: let array = [1, 2, 3, 4, 5]; // 数组里有5个数字 let emptyArray = []; // 定义空数组 数组的基…

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