UNPKG

just-order-by

Version:

Produces a new array, sorted in given order

123 lines (109 loc) 2.1 kB
<!-- DO NOT EDIT THIS FILE! THIS FILE WAS AUTOGENERATED BY TEMPLATE-MATE --> <!-- SEE https://github.com/angus-c/just/blob/master/CONTRIBUTING.md#readme-template --> ## just-order-by Part of a [library](https://anguscroll.com/just) of zero-dependency npm modules that do just do one thing. Guilt-free utilities for every occasion. [`🍦 Try it`](https://anguscroll.com/just/just-order-by) ```shell npm install just-order-by ``` ```shell yarn add just-order-by ``` Produces a new array, sorted in given order ```js import orderBy from 'just-order-by'; orderBy([10, 1, 5, 20, 15, 35, 30, 6, 8]); // [1, 5, 6, 8, 10, 15, 20, 30, 35] orderBy( [ { user: 'fabio', details: { city: 'Milan', age: 34 } }, { user: 'max', details: { city: 'Munich', age: 29 } }, { user: 'zacarias', details: { city: 'Sao Paulo', age: 44 } }, { user: 'robert', details: { city: 'Manchester', age: 28 } }, { user: 'max', details: { city: 'Zurich', age: 38 } }, ], [ { property(v) { return v.details.age; }, }, ] ); /* [ {user: 'robert', age: 28}, {user: 'max', age: 29}, {user: 'fabio', age: 34}, {user: 'klaus', age: 38}, {user: 'zacarias', age: 44}, ] */ orderBy( [ {user: 'fabio', age: 34}, {user: 'max', age: 29}, {user: 'zacarias', age: 44}, {user: 'robert', age: 28}, {user: 'klaus', age: 38}, ], [ { property: 'user', }, ] ); /* [ {user: 'fabio', age: 34}, {user: 'klaus', age: 38}, {user: 'max', age: 29}, {user: 'robert', age: 28}, {user: 'zacarias', age: 44}, ] */ orderBy( [ { user: 'fabio', age: 34 }, { user: 'max', age: 29 }, { user: 'zacarias', age: 44 }, { user: 'moris', age: 28 }, { user: 'max', age: 38 }, ], [ { property: 'user', order: 'desc', }, { property(v) { return v.age; }, }, ] ); /* [ { user: 'zacarias', age: 44 }, { user: 'moris', age: 28 }, { user: 'max', age: 29 }, { user: 'max', age: 38 }, { user: 'fabio', age: 34 } ] */ ```