sumBy<N extends num> method

N sumBy<N extends num>(
  1. N mapper(
    1. T element
    )
)

The sum of the values returned by the mapper function.

Examples:

expect([1, 2, 3, 4, 5].sumBy((e) => e), 15);
expect([1.5, 2.5, 3.3, 4, 5].sumBy((e) => e), 16.3);
expect(['a', 'ab', 'abc', 'abcd', 'abcde'].sumBy((e) => e.length), 15);

Implementation

N sumBy<N extends num>(N Function(T element) mapper) {
  N result = 0 as N;
  for (var value in this) {
    result = result + mapper(value) as N;
  }
  return result;
}