Contiguous list sorting, similar to macOS Finder sort.
For example, an array of: ["N1", "N10", "N100", "N2"]
...would sort using the numerical suffix values, resulting in:
0: "N1"
1: "N2"
2: "N10"
3: "N100"
To install, execute:
npm i sort-contiguous
Then, import into a project as:
import {
contiguousPrefixComparer,
contiguousSuffixComparer,
sortContiguousPrefix,
sortContiguousSuffix
} from 'sort-contiguous'
This package includes both sort comparer and utility functions for array sorting.
Use the comparer functions directly in your array sort()
operations:
Compare numerical values at the end of a list using the contiguous suffix comparer:
import { contiguousSuffixComparer } from 'sort-contiguous';
const list = [
"File 1",
"File 10",
"File 100",
"File 2"
];
let sorted = list.sort(contiguousSuffixComparer);
console.log(sorted);
Outputs:
0: "File 1"
1: "File 2"
2: "File 10"
3: "File 100"
Compare numerical values at the beginning of a list using the contiguous prefix comparer:
import { contiguousPrefixComparer } from 'sort-contiguous';
const list = [
"1 File",
"10 File",
"100 File",
"2 File"
];
let sorted = list.sort(contiguousPrefixComparer);
console.log(sorted);
Outputs:
0: "1 File"
1: "2 File"
2: "10 File"
3: "100 File"
Sort your array by calling either the prefix or suffix sort functions, and passing your array as a parameter.
Compare numerical values at the end of a list by calling sortContiguousSuffix()
to return the sorted array:
import { sortContiguousSuffix } from 'sort-contiguous';
const list = [
"File 1",
"File 10",
"File 100",
"File 2"
];
let sorted = sortContiguousSuffix(list);
console.log(sorted);
Outputs:
0: "File 1"
1: "File 2"
2: "File 10"
3: "File 100"
Compare numerical values at the beginning of a list by calling sortContiguousPrefix()
to return the sorted array:
import { sortContiguousPrefix } from 'sort-contiguous';
const list = [
"1 File",
"10 File",
"100 File",
"2 File"
];
let sorted = sortContiguousPrefix(list);
console.log(sorted);
Outputs:
0: "1 File"
1: "2 File"
2: "10 File"
3: "100 File"