Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
node_modules/core-js/modules/_array-reduce.js
| 28 lines
| 821 B
| application/javascript
| JavascriptLexer
|
r789 | 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; | ||||
}; | ||||