sugar
Version:
A Javascript utility library for working with native objects.
20 lines (15 loc) • 529 B
JavaScript
;
var Sugar = require('sugar-core'),
compareValue = require('./internal/compareValue'),
mapWithShortcuts = require('../common/internal/mapWithShortcuts');
Sugar.Array.defineInstance({
'sortBy': function(arr, map, desc) {
arr.sort(function(a, b) {
var aProperty = mapWithShortcuts(a, map, arr, [a]);
var bProperty = mapWithShortcuts(b, map, arr, [b]);
return compareValue(aProperty, bProperty) * (desc ? -1 : 1);
});
return arr;
}
});
module.exports = Sugar.Array.sortBy;