ss
simple-sort
npm i simple-sort
ss

simple-sort

JS library providing a straightforward collection of sorting methods and sort functions.

by Ryan

0.1.2 (see all)License:Apache-2.0TypeScript:Not FoundCategories:Node.js Sorting
npm i simple-sort
Readme

simple-sort

simple-sort provides a straightforward collection of sorting methods and sort functions.

Why use simple-sort?

  • It provides both sorting methods and sort functions.
  • It makes sorting by locale simple (no separate API to remember).
  • It provides functionality via plain English method names rather than hard-to-remember parameters.
  • It provides you a consistent sorting API, so you don't have to individually write all sorting methods yourself.
  • It makes your code more readable and easily understandable, even by somebody unfamiliar with the simple-sort API.

Installation

$ npm install simple-sort

Usage

Import the library:

import Sorter from 'simple-sort'; // or var Sorter = require('simple-sort').default;

Create an instance:

const sorter = new Sorter('en');

####Sorting methods:

// sample data array
const numArr = [2,3,1];

// sort values in ascending order
sorter.sortAsc(numArr);
// -> [1,2,3]

// sort values in descending order
sorter.sortDes(numArr);
// -> [3,2,1]

// sample array
const wordArr = ['Janeway', 'Picard', 'Cisco'];

// sort by locale in ascending order
sorter.sortByLocaleAsc(wordArr);
// -> ['Cisco','Janeway','Picard']

// sort by locale in descending order
sorter.sortByLocaleDes(wordArr);
// -> ['Picard','Janeway','Cisco']

// sample array
const objArr = [{num:2},{num:3},{num:1}];

// sort array of objects by property in ascending order
sorter.sortByPropAsc(objArr, 'num');
// -> [{num:1},{num:2},{num:3}]

// sort array of objects by property in descending order
sorter.sortByPropDes(objArr, 'num');
// -> [{num:3},{num:2},{num:1}]

// sample array
const objStrArr = [{name:'Janeway'},{name:'Picard'},{name:'Cisco'}];

// locale sort array of objects by property in ascending order
sorter.localeSortByPropAsc(objStrArr, 'name');
// -> [{name:'Cisco'},{name:'Janway'},{name:'Picard'}]

// locale sort array of objects by property in descending order
sorter.localSortByPropDes(objStrArr, 'name');
// -> [{name:'Picard'},{name:'Janway'},{name:'Cisco'}]

####Function-returning methods: Each of the previous sort methods are also available as sort functions to pass into Array.sort(). All function-returning methods have a Func suffix.

// sample data array
const numArr = [2,3,1];

// sort values in asending order
numArr.sort(sorter.sortAscFunc());
// numArr -> [1,2,3]

// sort values in descending order
numArr.sort(sorter.sortDesFunc());
// numArr -> [3,2,1]

// sample array
const wordArr = ['Janeway', 'Picard', 'Cisco'];

// sort by locale in ascending order
wordArr.sort(sorter.sortByLocaleAscFunc());
// wordArr -> ['Cisco','Janeway','Picard']

// sort by locale in descending order
wordArr.sort(sorter.sortByLocaleDesFunc());
// wordArr -> ['Picard','Janeway','Cisco']

// sample array
const objArr = [{num:2},{num:3},{num:1}];

// sort array of objects by property in ascending order
objArr.sort(sorter.sortByPropAscFunc('num'));
// objArr -> [{num:1},{num:2},{num:3}]

// sort array of objects by property in descending order
objArr.sort(sorter.sortByPropDesFunc('num'));
// objArr -> [{num:3},{num:2},{num:1}]

// sample array
const objStrArr = [{name:'Janeway'},{name:'Picard'},{name:'Cisco'}];

// locale sort array of objects by property in ascending order
objStrArr.sort(sorter.localeSortByPropAscFunc('name'));
// objStrArr -> [{name:'Cisco'},{name:'Janway'},{name:'Picard'}]

// locale sort array of objects by property in descending order
objStrArr.sort(sorter.localSortByPropDesFunc('name'));
// objStrArr -> [{name:'Picard'},{name:'Janway'},{name:'Cisco'}]

Docs

Documentation of all available methods can be found here.

Contributions

Contributions are welcome! If you have any issues and/or contributions you would like to make, feel free to file an issue and/or issue a pull request.

License

Apache License Version 2.0

Copyright (c) 2016 by Ryan Burgett.

Downloads/wk

9

GitHub Stars

14

LAST COMMIT

6yrs ago

MAINTAINERS

1

CONTRIBUTORS

0

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
0.1.2
latest
6yrs ago
No tutorials found
Add a tutorial