1.0.0 • Published 4 years ago

@writetome51/order-numerically v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

orderNumerically(     arr: any[]     getValueToSortBy? = (element) => element): void

Re-orders arr in ascending numeric order. Uses super-fast node-timsort for the actual sorting.
It sorts using this comparison function: (a, b) => getValueToSortBy(a) - getValueToSortBy(b).
Optional callback getValueToSortBy(element) must return a number. By default it simply
returns the passed element.

Examples

// A basic number sort:
let numbers = [10, 6, 44, 2, 21, 66, 32, 44];  
orderNumerically(numbers); 
console.log(numbers); 
//  [ 2, 6, 10, 21, 32, 44, 44, 66 ]

// sort objects by property 'age'
let objects = [{age: 12}, {age: 7}, {age: 18}, {age: 5}]; 
orderNumerically(objects, (obj) => obj.age);  
console.log(objects); 
//  [ {age: 5}, {age: 7}, {age: 12}, {age: 18} ]

// sort arrays by length:
let arrays = [ [1,2,3], [1], [], [4,5], [0], [6,7], [4,5,6] ];
orderNumerically(arrays, (arr) => arr.length); 
console.log(arrays);  
// [ [], [1], [0], [4,5], [6,7], [1,2,3], [4,5,6] ]

Installation

npm i @writetome51/order-numerically

Loading

import {orderNumerically} from '@writetome51/order-numerically';