sort
A tiny library to sort array of objects based on multiple properties.
Ultra small, just 0.50KB
[minified+gzipped] and 2.25KB
[uncompressed source].
Getting Started
If you are using npm
$ npm install --save sort-object-array
or include index.js
manually as
<script src="index.js" charset="utf-8"></script>
Usage
const sort = ; ; ;
For browser environments, the library exports a global arraySort
, which can be used in a similar fashion,
;// returns the sorted 'test' array
API
sort(array, sortBy, [order])
Sorts and returns an array.
array
Type: Array
Default: none
Array to be sorted
sortBy
Type: String | Array
Default: none
The property against which sorting is to be performed. A single string value or array of strings.
If an array is passed, the priority of sort is in decreases from left to right.
Say, if you pass ['a.b', 'a.c']
as the argument, the function will sort the array based on 'a.b'
first, then for same values of 'a.b'
, it will sort those values by 'a.c'
and so on.
By default, all orders are ascending. For changing order, see order.
order
Type: String | Array
Default: 'asc'
The order which sorting is to be performed. A single string value or array of strings. Values are 'asc'
or 'desc'
.
If it is an array, it maps one to one to the arguments of sortBy
.
In the example sort(test, ['a.b', 'a.c.d', 'a.e.f.g'], ['desc', 'asc', 'desc'])
, 'a.b'
is sorted in descending order, 'a.c.d'
in ascending order and 'a.e.f.g'
in descending order.
Defaults to 'asc'
.