build/rekord.js
function(reducer, initialValue)
  {
    for (var i = 0; i < this.length; i++)
    {
      initialValue = reducer( initialValue, this[ i ] );
    }

    return initialValue;
  }
function(reducer, initialValue)
  {
    for (var i = 0; i < this.length; i++)
    {
      initialValue = reducer( initialValue, this[ i ] );
    }

    return initialValue;
  }
function ( reducer , initialValue ) { for ( var i = 0 ; i < this . length ; i ++ ) { initialValue = reducer ( initialValue , this [ i ] ) ; } return initialValue ; }
Reduces all the elements of this collection to a single value. All elements
are passed to a function which accepts the currently reduced value and the
current element and returns the new reduced value.

```javascript
var reduceIt = function(curr, elem) {
return curr + ( elem[0] * elem[1] );
};
var c = Rekord.collect([[2, 1], [3, 2], [5, 6]]);
c.reduce( reduceIt, 0 ); // 38
```

@method
@memberof Rekord.Collection#
@param {Function} reducer -
A function which accepts the current reduced value and an element and
returns the new reduced value.
@param {Any} [initialValue] -
The first value to pass to the reducer function.
@return {Any} -
The reduced value.
Reduces all the elements of this collection to a single value . All elements are passed to a function which accepts the currently reduced value and the current element and returns the new reduced value .