diff --git a/test/collections.js b/test/collections.js index 18b242769..fb457f605 100644 --- a/test/collections.js +++ b/test/collections.js @@ -235,6 +235,9 @@ $(document).ready(function() { var people = [{name : 'curly', age : 50}, {name : 'moe', age : 30}]; people = _.sortBy(people, function(person){ return person.age; }); equal(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age'); + + var list = [undefined, 4, 1, undefined, 3, 2]; + equal(_.sortBy(list, _.identity).join(','), '1,2,3,4,,', 'sortBy with undefined values'); }); test('collections: groupBy', function() { diff --git a/underscore.js b/underscore.js index 00ca13d4a..e3db3646d 100644 --- a/underscore.js +++ b/underscore.js @@ -270,8 +270,8 @@ }; }).sort(function(left, right) { var a = left.criteria, b = right.criteria; - if (_.isUndefined(a)) return 1; - if (_.isUndefined(b)) return -1; + if (a === void 0) return 1; + if (b === void 0) return -1; return a < b ? -1 : a > b ? 1 : 0; }), 'value'); };