MCPcopy Index your code
hub / github.com/jashkenas/underscore / reducer

Function reducer

underscore.js:1393–1406  ·  view source on GitHub ↗
(obj, iteratee, memo, initial)

Source from the content-addressed store, hash-verified

1391 // Wrap code that reassigns argument variables in a separate function than
1392 // the one that accesses `arguments.length` to avoid a perf hit. (#1991)
1393 var reducer = function(obj, iteratee, memo, initial) {
1394 var _keys = !isArrayLike(obj) && keys(obj),
1395 length = (_keys || obj).length,
1396 index = dir > 0 ? 0 : length - 1;
1397 if (!initial) {
1398 memo = obj[_keys ? _keys[index] : index];
1399 index += dir;
1400 }
1401 for (; index >= 0 && index < length; index += dir) {
1402 var currentKey = _keys ? _keys[index] : index;
1403 memo = iteratee(memo, obj[currentKey], currentKey, obj);
1404 }
1405 return memo;
1406 };
1407
1408 return function(obj, iteratee, memo, context) {
1409 var initial = arguments.length >= 3;

Callers 1

createReduceFunction · 0.70

Calls 2

keysFunction · 0.70
iterateeFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…