12345678910111213141516171819 |
- var hasOwn = Object.prototype.hasOwnProperty;
- module.exports = function (xs, f, acc) {
- var hasAcc = arguments.length >= 3;
- if (hasAcc && xs.reduce) return xs.reduce(f, acc);
- if (xs.reduce) return xs.reduce(f);
-
- for (var i = 0; i < xs.length; i++) {
- if (!hasOwn.call(xs, i)) continue;
- if (!hasAcc) {
- acc = xs[i];
- hasAcc = true;
- continue;
- }
- acc = f(acc, xs[i], i);
- }
- return acc;
- };
|