Javascript 中的 reduce()函数

首页 / JavaScript入门教程 / Javascript 中的 reduce()函数

JavaScript reduce()方法将数组的元素减少为单个值,并且函数的返回值存储在累加器中,并且数组中的每个元素(从左到右)都必须将其减少为单个值。

Note: 在没有初始值的空数组上调用reduce()是错误的。

reduce - 语法

array.reduce(function(total, currentValue, index, arr), initialValue)

reduce - 参数

total(必填)   -  该函数先前返回的值。

CurrentValue(必填)  -  当前元素的值。

index(可选)  - 数组中正在处理的当前元素的索引。从索引0开始。

Arr(可选)      -  调用了数组reduce()。

InitialValue(可选):要作为初始值传递给函数的值。

reduce - 返回值

返回减少的数组单个值。

reduce - 浏览器支持

Chrome
Safari 4
Firefox 3.0
Opera 10.5

reduce - 例子1

JavaScript reduce()方法

链接:https://www.learnfk.comhttps://www.learnfk.com/javascript/javascript-typedarray-reduce-method.html

来源:LearnFk无涯教程网

<script type="text/javascript">
// JavaScript to illustrate reduce() method
let JavaTpoint =[10,20,30];
// find the sum of all the elements 
let sum = JavaTpoint.reduce(function(passedIn, item)
{
return passedIn + item;
// 0 is intial value 
},0); 
document.write('Array sum is ',sum,'\n');
// expected output: JavaTpoint [Output: 60] 

输出:

60

reduce - 例子2

JavaScript reduce(initialValue)方法

<script type="text/javascript">
// JavaScript to illustrate reduce() method
let JavaTpoint =[10,20,30];
// find the sum of all the elements 
let sum=JavaTpoint.reduce(function(passedIn, item)
{
return passedIn + item;
// 5 is intial value 
},5); 
document.write('Array sum is ',sum,'\n');
// expected output: JavaTpoint [Output: 65]    
</script>

输出:

65

reduce - 例子3

JavaScript reduce()方法

链接:https://www.learnfk.comhttps://www.learnfk.com/javascript/javascript-typedarray-reduce-method.html

来源:LearnFk无涯教程网

<script>
// JavaScript to illustrate reduce() method
// Taking some array as the element of an array "A"
var A = [ ['Java','MongoDB' ], ['python','C'], [ 'RDBMS', 'C++' ] ];
// Calling array.reduce() function
a = A.reduce((previousValue, currentValue) => previousValue.concat(currentValue));
// printing result
document.write(a);
// expected output: Java,MongoDB,python,C,RDBMS,C++
</script>

输出:

Java, MongoDB, python, C, RDBMS, C++

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

持续交付36讲 -〔王潇俊〕

从0开始做增长 -〔刘津〕

深入浅出计算机组成原理 -〔徐文浩〕

从0打造音视频直播系统 -〔李超〕

深入浅出云计算 -〔何恺铎〕

Redis核心技术与实战 -〔蒋德钧〕

高楼的性能工程实战课 -〔高楼〕

Spring编程常见错误50例 -〔傅健〕

现代C++20实战高手课 -〔卢誉声〕

好记忆不如烂笔头。留下您的足迹吧 :)