数组迭代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 或更早的版本:

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64581.shtml

张贴在3