Sort arrays with ease and create descriptive compare-functions for them
npm install @nemoinho/comparator-js



Compare complex objects with ease.
This library provides a simple API to create complex comparators and keep them understandable for humans.
> The comparator is heavily inspired by the Comparator from Java.
``typescript
import { comparing } from "@nemoinho/comparator-js";
type Person = {
name: string;
originCountry: string;
}
const people = [/ people here /]
const comparator =
comparing
.thenComparing("name");
// create a new sorted list
comparator.sort(people);
// or sort existing list in place
people.sort(comparator);
`
comparing
Create a comparator which compares objects of Type T.
valueExtractor: The valueExtractor can either be a field-name of T or a function which extracts a value from a given object T.
keyComparator: An optional comparator to compare the extracted value.
The default comparator is capable of comparing string and numbers, all other types will be considered equal!
---
comparingSimpleString(keyComparator?): ComparatorcomparingSimpleNumber(keyComparator?): Comparator
Create a comparator to compare string/numbers instead of objects.
keyComparator: An optional comparator to compare the extracted value.
The default comparator is capable of comparing string and numbers, all other types will be considered equal!
---
Comparator
Chains another comparison onto the comparator, note that this is only executed if the previous comparisons resulted in equal objects.
valueExtractor: The valueExtractor can either be a field-name of T or a function which extracts a value from a given object T.
keyComparator: An optional comparator to compare the extracted value.
The default comparator is capable of comparing string and numbers, all other types will be considered equal!
---
Comparator
Reverses the result of the current comparator.
---
Comparator
A convenience method which combines thenComparing() and reverse().
---
Comparator
This method returns a sorted version of the given list, which is sorted by this comparator.