orderby
Version:
Sort collections by fields and getters. Inspired by angular orderBy
69 lines (51 loc) • 1.73 kB
Markdown
# orderBy
Sort collections by fields and getters. Inspired by Angular's orderBy filter
[![build status][travis-badge]][travis-link]
[![npm version][npm-badge]][npm-link]
[![MIT license][license-badge]][license-link]
[![we're hiring][hiring-badge]][hiring-link]
## Usage
```
npm install orderby
```
```js
var orderBy = require('orderby');
var collection = [
{age: 100 , name: 'Michael'}
{age: 25 , name: 'Ben'}
{age: 100, name: 'Danny'}
{age: 25, name: 'Max'}
];
// sort by fields
orderBy(collection, ['age', 'name']);
// sort by getters
orderBy(collection, [function(person){ return person.name.length }]);
// reverse each sort individually
orderBy(collection, [
{
predicate: function(person){ return person.name.length },
reverse: true
},
{
predicate: 'age',
reverse: false
}
]);
```
## Contributing
Please follow our [Code of Conduct](https://github.com/goodeggs/orderby/blob/master/CODE_OF_CONDUCT.md)
when contributing to this project.
```
$ git clone https://github.com/goodeggs/orderby && cd orderby
$ npm install
$ npm test
```
_Module scaffold generated by [generator-goodeggs-npm](https://github.com/goodeggs/generator-goodeggs-npm)._
[travis-badge]: http://img.shields.io/travis/goodeggs/orderby.svg?style=flat-square
[travis-link]: https://travis-ci.org/goodeggs/orderby
[npm-badge]: http://img.shields.io/npm/v/orderby.svg?style=flat-square
[npm-link]: https://www.npmjs.org/package/orderby
[license-badge]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
[license-link]: LICENSE.md
[hiring-badge]: https://img.shields.io/badge/we're_hiring-yes-brightgreen.svg?style=flat-square
[hiring-link]: http://goodeggs.jobscore.com/?detail=Open+Source&sid=161