JavaScript Array reduce() Method
Example
Subtract the numbers in the array, starting from the beginning:
var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML
= numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
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.
Note: This method does not change the original array.
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 »
Related Pages
JavaScript Tutorial: JavaScript Arrays
JavaScript Tutorial: JavaScript Iteration
JavaScript Reference: JavaScript reduceRight() Method