reduce、reduceRight语法归并函数是将元素中的多个值归并成一个值也可以使用reduceRight表示从右向左操作。使用方法数组.reduce((迭代值,值,索引,数组)(公式),判断公式,初始值)以下为reduce、reduceRight语法的3种写法表达式示例1var sumarr.reduce((r,v)rv,0);解释数组中的所有元素值相加求和初始值为0。表达式示例2var sumarr.reduce((r,v)rv);解释数组中的所有元素值相加求和。表达式示例3var maxarr.reduce((r,v)(rv)?r:v,0)/arr.length;解释展示多种结构的写法如下测试:function test(){var arr[5,2,18,4];var sumarr.reduce((r,v)rv,0);//↑求和,迭代初始值0如果没有写迭代初始值默认每一个元素值为初始值。//↑运行原理迭代值r元素值v所为迭代值r就是每次的元素值v的和又赋值给r,如rrv的循环var avgarr.reduce((r,v)rv,0)/arr.length;//求平均var maxarr.reduce((r,v)(rv)?r:v);//求最大// ↑运行原理rv为比较?r:v为判断判断为true,返回r,判断为false,返回v,所有返回值又赋值给rvar minarr.reduce((r,v)(rv)?r:v);//求最小var maxarr.reduce((r,v)(rv,0)?r:v)/arr.length;}为了更好的理解reduce的判断举例示例1方法和示例2方法的作用是一样的示例1function test01(){var arr[5,21,7,12,99,25];var maxarr.reduce((r,v)(rv)?r:v,[]);//初始值为[]}示例2function test2(){var arr[5,21,7,12,99,25];var newarrarr.reduce(fun,[])//初始值为[]}function fun(r,v){if(rv){r}else{rv}return r}