JavaScript Array reduce() Method
Example
Get the sum of the numbers in the array:
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
Try it Yourself »
More "Try it Yourself" examples below.
Definition and Usage
The reduce() method reduces the array to a single value.
The reduce() method executes a provided function for each value of the array (from left-to-right).
The return value of the function is stored in an accumulator (result/total).
Note: reduce() does not execute the function for array elements without values.
Browser Support
The numbers in the table specify the first browser version that fully supports the method.
Method | |||||
---|---|---|---|---|---|
reduce() | Yes | 9.0 | 3.0 | 4 | 10.5 |
Syntax
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
Parameter Values
Parameter | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total,currentValue, index,arr) | Required. A function to be run for each element in the array. Function arguments:
|
||||||||||
initialValue | Optional. A value to be passed to the function as the initial value |
Technical Details
Return Value: | Returns the accumulated result from the last call of the callback function |
---|---|
JavaScript Version: | ECMAScript 5 |
More Examples
Example
Round all the numbers in an array, and display the sum:
<button onclick="myFunction()">Try it</button>
<p>Sum of numbers in array: <span id="demo"></span></p>
<script>
var numbers = [15.5, 2.3, 1.1, 4.7];
function getSum(total, num) {
return total + Math.round(num);
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
}
</script>
Try it Yourself »
❮ JavaScript Array Reference