linq.js
function aggregate(transform) {
  switch (arguments.length) {
    case 1:
      return aggregate_seed_transform_selector.apply(this, [undefined, arguments[0]]);
    default:
      return aggregate_seed_transform_selector.apply(this, arguments);
  }
}
function aggregate(transform) {
  switch (arguments.length) {
    case 1:
      return aggregate_seed_transform_selector.apply(this, [undefined, arguments[0]]);
    default:
      return aggregate_seed_transform_selector.apply(this, arguments);
  }
}
function aggregate ( transform ) { switch ( arguments . length ) { case 1 : return aggregate_seed_transform_selector . apply ( this , [ undefined , arguments [ 0 ] ] ) ; default : return aggregate_seed_transform_selector . apply ( this , arguments ) ; } }
Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value.

@param seed The initial accumulator value.
@param transform An accumulator function to be invoked on each element.
@param resultTransform A function to transform the final accumulator value into the result value.
@return The transformed final accumulator value.
transform: (current, next) -> result
Applies an accumulator function over a sequence . The specified seed value is used as the initial accumulator value and the specified function is used to select the result value .