my-idlers/node_modules/collect.js/dist/methods/reduce.js

23 lines
456 B
JavaScript
Raw Normal View History

'use strict';
module.exports = function reduce(fn, carry) {
var _this = this;
var reduceCarry = null;
if (carry !== undefined) {
reduceCarry = carry;
}
if (Array.isArray(this.items)) {
this.items.forEach(function (item) {
reduceCarry = fn(reduceCarry, item);
});
} else {
Object.keys(this.items).forEach(function (key) {
reduceCarry = fn(reduceCarry, _this.items[key], key);
});
}
return reduceCarry;
};