From 41985d8c1a545bacd27ad6bb296996ebc34a4c29 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 13 Dec 2015 23:29:52 -0800 Subject: [PATCH] Ensure `reduce` and `reduceRight` use `getIteratee` for the array path. --- lodash.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lodash.js b/lodash.js index bf232abc0..87257f101 100644 --- a/lodash.js +++ b/lodash.js @@ -7702,9 +7702,10 @@ */ function reduce(collection, iteratee, accumulator) { var initFromCollection = arguments.length < 3; - return (typeof iteratee == 'function' && isArray(collection)) + iteratee = getIteratee(iteratee, 4); + return isArray(collection) ? arrayReduce(collection, iteratee, accumulator, initFromCollection) - : baseReduce(collection, getIteratee(iteratee, 4), accumulator, initFromCollection, baseEach); + : baseReduce(collection, iteratee, accumulator, initFromCollection, baseEach); } /** @@ -7729,9 +7730,10 @@ */ function reduceRight(collection, iteratee, accumulator) { var initFromCollection = arguments.length < 3; - return (typeof iteratee == 'function' && isArray(collection)) + iteratee = getIteratee(iteratee, 4); + return isArray(collection) ? arrayReduceRight(collection, iteratee, accumulator, initFromCollection) - : baseReduce(collection, getIteratee(iteratee, 4), accumulator, initFromCollection, baseEachRight); + : baseReduce(collection, iteratee, accumulator, initFromCollection, baseEachRight); } /**