English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript 数组 reduceRight() 方法

 Объект массива JavaScript

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

reduceRight()方法对每个数组索引执行一次回调函数。

函数的返回值存储在累加器(result)中。

语法:

array.reduceRight(callback, initialValue)
var nums = [[0, 1], [2, 3], [4, 5]];
function fire(x, y) {
   return x.concat(y);
}
function myFunc() {
   document.getElementById("result").innerHTML = nums.reduceRight(fire);
}
Тестирование, посмотрите <›/›

浏览器兼容性

表中的数字指定了完全支持reduceRight()方法的第一个浏览器版本:

Method
reduceRight()310.549

参数值

参数描述
callback
为数组中的每个元素运行的函数。
函数参数:
  • accumulator(必需)- 函数的initialValue或先前返回的值

  • element(必填)-数组中正在处理的当前元素

  • index(可选)-数组中正在处理的当前元素的索引

  • array(可选)- 调用了数组reduceRight()

initialValue(可选)用作首次调用回调的第一个参数的值的。

Технические детали

Возвратное значение:Уменьшение количества создаваемых значений
Версия JavaScript:ECMAScript 5

Более сложные примеры

Разница между reduce() и reduceRight():

var arr = ['1', '2', '3', '4', '5'];
function funcReduce() {
var val = arr.reduce(function(x, y) { return x + y; });
document.getElementById("result").innerHTML = val;
}
function funcReduceRight() {
var val = arr.reduceRight(function(x, y) { return x + y; });
document.getElementById("result").innerHTML = val;
}
Тестирование, посмотрите <›/›

 Объект массива JavaScript