mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 15:27:50 +00:00
34 lines
715 B
JavaScript
34 lines
715 B
JavaScript
define(['../lang/isArray', '../internal/toIterable'], function(isArray, toIterable) {
|
|
|
|
/**
|
|
* Gets the sum of the values in `collection`.
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @category Math
|
|
* @param {Array|Object|string} collection The collection to iterate over.
|
|
* @returns {number} Returns the sum.
|
|
* @example
|
|
*
|
|
* _.sum([4, 6, 2]);
|
|
* // => 12
|
|
*
|
|
* _.sum({ 'a': 4, 'b': 6, 'c': 2 });
|
|
* // => 12
|
|
*/
|
|
function sum(collection) {
|
|
if (!isArray(collection)) {
|
|
collection = toIterable(collection);
|
|
}
|
|
var length = collection.length,
|
|
result = 0;
|
|
|
|
while (length--) {
|
|
result += +collection[length] || 0;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
return sum;
|
|
});
|