Javascript教程
JavaScript基础
JavaScript Objects
JavaScript BOM
JavaScript DOM
JavaScript OOP
JavaScript Cookies
JavaScript事件
JavaScript异常
JavaScript常用

Array reduce()

reduce()方法通过执行reducer函数将给定数组缩减为单个值。用户实现可用于数组中每个元素的reducer函数。

Reducer函数

reduce函数是用户实现的代码。它使用以下四个参数来执行其任务:
accumulator:它累加数组的返回值。 currentValue:当前元素是当前值。 currentIndex:当前元素的索引是当前索引的值。 array:用户为实现reduce()方法定义的数组。

语法

arr.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)

参数

回调:主要是为每个元素执行的回调函数,如果没有指定initialValue,则第一个元素除外。
回调函数接受以下四个参数:
accumulator:它将累加在函数的最后一次调用中返回的回调函数的返回值。 currentValue:是正在处理的当前元素的值。 currentIndex:这是一个可选参数,用于保存正在处理的当前元素的索引值。如果提供初始值,索引将从0开始。否则从1开始。 array:这也是可选的,它包含reduce()将在其上工作的元素。
initialValue:它是在第一次调用回调函数时使用的第一个参数值。

返回

它返回单个值作为输出。

注意事项:

如果我们不提供初始值,则回调函数将以索引为1开始执行,并跳过第一个索引。虽然,如果提供了intialValue,则执行将从0开始。 如果没有提供initialValue的空数组,则会引发TypeError。 如果数组为空,但提供了initialValue,或者如果数组包含一个元素,但未提供initialValue,则该元素将返回而无需调用回调函数。
因此,提供初始值既安全又好。

JavaScript Array reduce()方法示例

让我们实现一些示例为了更好地理解:
Example1
这是一个简单的示例,用于汇总数组元素并显示输出。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var arr=[2,3,1,5];
var a=arr.reduce(function (accumulator,currentValue) {
return accumulator+currentValue;
    },0);
document.write("The sum of the array elements is: "+a);
</script>
</body>
</html>
输出:
 JavaScript Array reduce()方法
Example2
下面是一个使用reduce()方法显示数组元素差异的示例。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var a=[30,15,5];
document.write("The difference of the array elements is: ");
document.write(a.reduce(reducer_func));
function reducer_func(net,n){
return net-n;
}
</script>
</body>
</html>
输出:
 JavaScript Array reduce()方法
Example3
下面是一个使用箭头函数求和数组元素的示例。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var net=[3,2,5,1,7];
var calc=net.reduce(
(accumulator,currentValue)=>accumulator+currentValue,0);
document.write("The total of the array elements comes out to be: "+calc);
</script>
</body>
</html>
输出:
 JavaScript Array reduce()方法
Example4
当数组仅包含单个值时。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var net=[3]; //Array with one element.
var calc=net.reduce(
(accumulator,currentValue)=>accumulator+currentValue);
document.write("The total of the array element comes out to be: "+calc);
</script>
</body>
</html>
输出:
 JavaScript Array reduce()方法
因此,在存在单个数组元素的情况下,无需创建回调函数。另外,因为当数组包含单个元素时,不会调用回调。
我们可以使用数组reduce()方法执行几个示例。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4