Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

cameronhunter/sort-order

Repository files navigation

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]

About

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

Resources

License

Stars

Watchers

Forks

Packages

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /