首页 网络技术
  1. 正文

数组迭代reduce和reduceRight方法怎么用

Array.reduce()

reduce() 方法在每个数组元素上运行函数,以生成(减少它)单个值。

reduce() 方法在数组中从左到右工作。另请参阅 reduceRight()。

reduce() 方法不会减少原始数组。

这个例子确定数组中所有数字的总和:

实例

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction);

function myFunction(total, value, index, array) {

  return total + value;

}

请注意此函数接受 4 个参数:

总数(初始值/先前返回的值)

项目值

项目索引

数组本身

上例并未使用 index 和 array 参数。可以将它改写为:

实例

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction);

function myFunction(total, value) {

  return total + value;

}

reduce() 方法能够接受一个初始值:

实例

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction, 100);

function myFunction(total, value) {

  return total + value;

}

所有浏览器都支持 Array.reduce(),除了 Internet Explorer 8 或更早的版本:

Array.reduceRight()

reduceRight() 方法在每个数组元素上运行函数,以生成(减少它)单个值。

reduceRight() 方法在数组中从右到左工作。另请参阅 reduce()。

reduceRight() 方法不会减少原始数组。

这个例子确定数组中所有数字的总和:

实例

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value, index, array) {

  return total + value;

}

请注意此函数接受 4 个参数:

总数(初始值/先前返回的值)

项目值

项目索引

数组本身

上例并未使用 index 和 array 参数。可以将它改写为:

实例

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {

  return total + value;

}

所有浏览器都支持 Array.reduceRight(),除了 Internet Explorer 8 或更早的版本

本文标题:数组迭代reduce和reduceRight方法怎么用
本文链接:https://www.qqooo.cn/post/6657.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 xsds@vip.qq.com 处理,谢谢!