电商商城定制开发数组的 reduce方法

数组的 reduce方法

reduce() 电商商城定制开发方法对数组中的每个元电商商城定制开发素按序执行一个由你提供的 reducer 函数,电商商城定制开发每次运行都会 将先前元素的计算结果作为参数传入,最后将其结果 汇总为单个返回值

当第一次执行这个回调函数的时候,不存在 “上一次计算的结果”,所以如果需要回调函数从数组索引为 0 的元素开始执行,就需要传递 初始值 否则索引号为 0 的元素将会被 作为初始值 initialValue,迭代器将从第二个元素开始执行

语法:

// 箭头函数写法	Array.reduce((perviousValue,currentValue) => { *** })	Array.reduce((perviousValue,currentValue,currentIndex) => { *** })	Array.reduce((perviousValue,currentValue,currentIndex,array) => { *** })	Array.reduce((perviousValue,currentValue,currentIndex,array) => { *** },initialValue)// 普通函数写法	...	Array.reduce(function(perviousValue,currentValue,currentIndex,array){ *** },initialValue)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

参数:

数组 reduce 方法,包含四个参数:
  • perviousValue:上一次的计算结果的返回值
  • currentValue:数组中正在处理的元素。若指定了初始值,则值则为数组索引为 0 的元素,否则为 1
  • currentIndex:数组中正在处理的元素的索引。若指定了初始值,则起始索引为 0,否则为 1
  • array:被遍历的对象数组

  • initialValue(可选):此参数作为第一次调用函数时参数 previousValue 的值,
  • 若指定了初始值 initialValue,则 currentValue 则将使用数组第一个元素;
  • 否则 perviousValue 将使用数组的第一个元素,而 currentValue 将使用数组第二个元素

示例:

1. 计算数组所有元素的总和
    // 定义了一个初始值(也可以直接在参数后面直接写)	const initialValue = 0; 	// 定义了一个数组	const sum = [0,1,2,3,4,5,6];  	// 开始循环计算	// 接收一个返回值	const sumTotal = sum.reduce(function(previousValue,currentValue){  		return perviousValue + currentValue	},initialValue)	// 打印总和	console.log('sumTotal:' + sumTotal)  // sumTotal:21 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
2. 累加的值

注意:如果要累加对象数组中包含的值,必须 提供 initialValue 初始值

	// 创建初始值	const initialValue = 0;	// 定义一个数组	const arr = [{x:1},{x:2},{x:3},{x:4}];	// 开始循环累加数组里面的每一个对象下的 x	const sumTotal = arr.reduce(function(previousValue,currentValue){		return previousValue + currentValue.x  // 对象.x 拿到里面的每一个 x 属性	},initialValue)	// 打印总和	console.log('sumTotal:' + sumTotal);  // sumTotal:10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发