# 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
