reduce()
Apply a callback function against and accumulator and each element in the Api's result set (left-to-right).
Description
This method can be used to accumulate data from a result set into a single value. A good example is summing the values from a column of data. A more complete definition of the Array reduce method, which this method is based upon, can be found on the Mozilla MDN documentation for reduce.
Note that the traversal of the elements in the result set in this method is left-to-right (i.e. 0 to length). reduceRight() is available for transversal in the opposite direction.
This method makes use of the fact that DataTables API objects are "array like", in that they inherit a lot of the abilities and methods of the JavaScript Array type.
In this case, this method is a proxy for the JavaScript Array.prototype.reduce method and is provided as a utility method for the DataTables API. For more information about the original method, please refer to the Mozilla MDN documentation for reduce. In browsers which do not support reduce natively, a polyfill is provided to allow this DataTables method to operate as expected.
Type
reduce( fn [, initialValue ] )
Apply a callback function against and accumulator and each element in the Api's result set.
Parameters:
| Name | Type | Optional | |
|---|---|---|---|
| 1 | fn | No | |
Callback function which is called for each item in the API instance result set. The callback is called with four parameters:
The callback should return the value to be used as the accumulator for the next loop (first parameter in the callback). | |||
| 2 | initialValue |
| Yes - default: |
Value to use as the first argument of the first call to the | |||
Returns:
Any: Result from the final call to the fn callback function.
Example
Sum the data in a column:
var table = new DataTable('#myTable');
var sum = table
.column(0)
.data()
.reduce(function (a, b) {
return a + b;
});