Repository URL to install this package:
Version:
0.6.0 ▾
|
.. |
LICENSE |
README.md |
index.js |
package.json |
Get a compare function for array to sort
$ npm install --save compare-func
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'}]
Returns a compare function for array to sort
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.
MIT © Steve Mao