UNPKG

orderby

Version:

Sort collections by fields and getters. Inspired by angular orderBy

69 lines (51 loc) 1.73 kB
# 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