diff --git a/lodash.js b/lodash.js index fd2667dac..f6633fbd5 100644 --- a/lodash.js +++ b/lodash.js @@ -4607,7 +4607,10 @@ */ function createOver(arrayFunc) { return rest(function(iteratees) { - iteratees = arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), getIteratee()); + iteratees = (iteratees.length == 1 && isArray(iteratees[0])) + ? arrayMap(iteratees[0], getIteratee()) + : arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), getIteratee()); + return rest(function(args) { var thisArg = this; return arrayFunc(iteratees, function(iteratee) { @@ -8954,7 +8957,11 @@ } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { iteratees = [iteratees[0]]; } - return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + iteratees = (length == 1 && isArray(iteratees[0])) + ? iteratees[0] + : baseFlatten(iteratees, 1, isFlattenableIteratee); + + return baseOrderBy(collection, iteratees, []); }); /*------------------------------------------------------------------------*/ @@ -9652,7 +9659,10 @@ * // => [100, 10] */ var overArgs = rest(function(func, transforms) { - transforms = arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), getIteratee()); + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], getIteratee()) + : arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), getIteratee()); + var funcsLength = transforms.length; return rest(function(args) { var index = -1,