Spaces:
Runtime error
Runtime error
| var aFunction = require('./_a-function'); | |
| var toObject = require('./_to-object'); | |
| var IObject = require('./_iobject'); | |
| var toLength = require('./_to-length'); | |
| module.exports = function (that, callbackfn, aLen, memo, isRight) { | |
| aFunction(callbackfn); | |
| var O = toObject(that); | |
| var self = IObject(O); | |
| var length = toLength(O.length); | |
| var index = isRight ? length - 1 : 0; | |
| var i = isRight ? -1 : 1; | |
| if (aLen < 2) for (;;) { | |
| if (index in self) { | |
| memo = self[index]; | |
| index += i; | |
| break; | |
| } | |
| index += i; | |
| if (isRight ? index < 0 : length <= index) { | |
| throw TypeError('Reduce of empty array with no initial value'); | |
| } | |
| } | |
| for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { | |
| memo = callbackfn(memo, self[index], index, O); | |
| } | |
| return memo; | |
| }; | |