diff --git a/lodash.js b/lodash.js index a70063fed..c67cd23b1 100644 --- a/lodash.js +++ b/lodash.js @@ -757,6 +757,9 @@ a = a.criteria; b = b.criteria; + if (a === b) { + return ai < bi ? -1 : 1; + } if (a === undefined) { return 1; } diff --git a/test/test.js b/test/test.js index f8243e949..99f2622a0 100644 --- a/test/test.js +++ b/test/test.js @@ -1340,7 +1340,10 @@ new Pair(1, 5), new Pair(1, 6), new Pair(2, 1), new Pair(2, 2), new Pair(2, 3), new Pair(2, 4), - new Pair(2, 5), new Pair(2, 6) + new Pair(2, 5), new Pair(2, 6), + new Pair(undefined, 1), new Pair(undefined, 2), + new Pair(undefined, 3), new Pair(undefined, 4), + new Pair(undefined, 5), new Pair(undefined, 6) ]; var actual = _.sortBy(collection, function(pair) {