From 9a7d9e7bb844f49b694e017e2f96342386e3af63 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Thu, 6 Sep 2012 22:35:20 -0700 Subject: [PATCH] Ensure `_.sortBy` is stable for `undefined` values. Former-commit-id: bf250150d27de050ea7a6fa376aacdc8d1ba7716 --- lodash.js | 3 +++ test/test.js | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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) {