Package Exports
- compare-func
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (compare-func) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Get a compare function for array to sort
Install
$ npm install --save compare-func
Usage
var compareFunc = require('compare-func');
// sort by an object property
[{x: 'b'}, {x: 'a'}, {x: 'c'}].sort(compareFunc('x'));
//=> [{x: 'a'}, {x: 'b'}, {x: 'c'}]
// sort by a nested object property
[{x: {y: 'b'}}, {x: {y: 'a'}}].sort(compareFunc('x.y'));
//=> [{x: {y: 'a'}}, {x: {y: 'b'}}]
// sort by the `x` propery, then `y`
[{x: 'c', y: 'c'}, {x: 'b', y: 'a'}, {x: 'b', y: 'b'}].sort(compareFunc(['x', 'y']));
//=> [{x: 'b', y: 'a'}, {x: 'b', y: 'b'}, {x: 'c', y: 'c'}]
// sort by the returned value
[{x: 'b'}, {x: 'a'}, {x: 'c'}].sort(compareFunc(function(el) {
return el.x;
}));
//=> [{x: 'a'}, {x: 'b'}, {x: 'c'}]
API
compareFunc([property])
Returns a compare function for array to sort
property
Type: string
, function
or array
of either
If missing it sorts on itself.
The string can be a dot path to a nested object property.
Related
- sort-on - Sort an array on an object property
License
MIT © Steve Mao