JavaScript数组reduceRight方法

JavaScript数组reduceRight方法教程

JavaScript数组 对象内置了 reduceRight 方法的功能和 reduce 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。

JavaScript数组reduceRight详解

定义

reduceRight() 方法接收一个 函数 作为累加器,将数组中的每个值(从右到左)开始缩减,最终计算为一个值。

语法

array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue);

参数

参数 描述
function(total,currentValue, index,arr) 必须。数组每个元素需要执行的函数。
initialValue 可选。传递给函数的初始值

function参数

参数 描述
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
index 可选。当前元素的索引
arr 可选。当前元素所属的数组对象

返回值

返回 计算结果。

说明

reduceRight() 可以作为一个高阶函数,用于函数的 compose。reduceRight() 对于空数组是不会执行回调函数的。

技术细节

该函数只支持 ECMAScript 3 即以上版本。

案例

reduceRight循环遍历处理数组元素

使用 reduceRight 循环遍历数组的每一个元素

<!DOCTYPE html> <html> <head> <title>JavaScript reduceRight循环遍历数组的每一个元素</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = new Array(1, 4, 9, 16, 25, 36); console.log("Arr =", arr); var result = arr.reduceRight((a, b)=>a + b); console.log("Result =", result); </script> </head> </html>

程序运行后,控制台输出如下:

37_Javascript reduceRight循环遍历数组.png

我们使用 reduceRight 函数,实现了求数组中所有元素的和。

reduceRight循环遍历处理数组元素

使用 reduceRight 循环遍历数组的每一个元素

<!DOCTYPE html> <html> <head> <title>JavaScript reduceRight循环遍历数组的每一个元素</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = new Array(1, 4, 9, 16, 25, 36); console.log("Arr =", arr); function walk(previousValue, currentValue, index, array){ return previousValue * currentValue; }; var result = arr.reduceRight(walk); console.log("Result =", result); </script> </head> </html>

程序运行后,控制台输出如下:

38_Javascript reduceRight循环遍历数组.png

我们使用 reduceRight 函数,实现了求数组中所有元素的乘积。

JavaScript数组reduceRight方法总结

JavaScript 的数组对象内置了 reduceRight 方法用于接收一个函数作为累加器,将数组中的每个值(从右到左)开始缩减,最终计算为一个值。JavaScript 数组 reduceRight 语法:

array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue);