sort-order
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

sort-order

npm package npm downloads main branch status

Combine a series of sort functions to create complex sort orders.

Install

npm install --save sort-order

Example

Sort an array of objects by creator first, then joinTime and finally id:

import sortBy from 'sort-order';

// Items to order
const a = { creator: true, joinTime: 0, id: 987 };
const b = { creator: false, joinTime: 1, id: 123 };
const c = { creator: false, joinTime: 1, id: 456 };
const d = { creator: false, joinTime: 2, id: 789 };

// Individual sort functions
const creator = (a, b) => (a.creator && -1) || (b.creator && 1) || 0;
const field = (field) => (a, b) => a[field] - b[field];

// Combined sort function
const ordering = sortBy(creator, field('joinTime'), field('id'));

// Sort!
[d, c, b, a].sort(ordering); // [a, b, c, d]

Package Sidebar

Install

npm i sort-order

Weekly Downloads

36,806

Version

1.1.2

License

MIT

Unpacked Size

4.97 kB

Total Files

6

Last publish

Collaborators

  • cameronhunter