https://github.com/ozum/intl-sort-by
Sort simple arrays or array of objects by given keys in any direction. Supports international accented characters (diacritics).
https://github.com/ozum/intl-sort-by
Last synced: about 2 months ago
JSON representation
Sort simple arrays or array of objects by given keys in any direction. Supports international accented characters (diacritics).
- Host: GitHub
- URL: https://github.com/ozum/intl-sort-by
- Owner: ozum
- License: isc
- Created: 2019-12-07T15:13:18.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-11T00:10:48.000Z (2 months ago)
- Last Synced: 2025-03-11T16:02:50.390Z (2 months ago)
- Language: TypeScript
- Size: 909 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# intl-sort-by
Sort simple arrays or array of objects by given keys in any direction. Supports international accented characters (diacritics).
- [Synopsis](#synopsis)
- [API](#api)
- [intl-sort-by](#intl-sort-by)
- [Functions](#functions)
- [sort](#sort)
- [Interfaces](#interfaces)
- [Interface: Options](#interface-options)
- [Hierarchy](#hierarchy)
- [Properties](#properties)
- [`Optional` immutable](#optional-immutable)
- [`Optional` locale](#optional-locale)
- [`Optional` order](#optional-order)# Synopsis
```ts
const objects = [
{ initial: "Ö", class: 1, sub: { z: 1 } },
{ initial: "o", class: 1, sub: { z: 3 } },
{ initial: "ö", class: 2, sub: { z: 3 } },
{ initial: "ğ", class: 2, sub: { z: 2 } },
];// Sort by `initial`
const sortedByInitial = sort(objects, "initial");// Sort by `sub.z` and then `initial`.
const sortedByMulti = sort(objects, ["sub.z", "initial"]);// Sort by `sub.z` in reverse order and then `initial`.
const sortedByMulti = sort(objects, ["-sub.z", "initial"]);// Sort by `sub.z` in reverse order and then `initial`. Same as above, but with options.
const sortedByMulti = sort(objects, ["sub.z", "initial"], { order: ["desc", "asc"] });
```# API
[intl-sort-by](#readmemd)
# intl-sort-by
## Functions
### sort
▸ **sort**<**T**>(`array`: T[], `keys?`: string | Array‹string | string[]›, `options`: [Options](#interfacesoptionsmd)): *T[]*
*Defined in [index.ts:53](https://github.com/ozum/intl-sort-by/blob/a81733d/src/index.ts#L53)*
Sorts simple arrays or array of objects by given keys in any direction. Supports international accented characters (diacritics).
**Type parameters:**
▪ **T**
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`array` | T[] | - | is array to be sorted. |
`keys?` | string | Array‹string | string[]› | - | are keys to sort array based on. Could be a single value. If key starts with a hypen/minus (`-`), sorts in reverse order. |
`options` | [Options](#interfacesoptionsmd) | {} | - |**Returns:** *T[]*
sorted array.
# Interfaces
[intl-sort-by](#readmemd) › [Options](#interfacesoptionsmd)
# Interface: Options
Options for to be used when sorting.
## Hierarchy
* **Options**
## Properties
### `Optional` immutable
• **immutable**? : *undefined | false | true*
*Defined in [index.ts:14](https://github.com/ozum/intl-sort-by/blob/a81733d/src/index.ts#L14)*
Sort without modifying original array.
___
### `Optional` locale
• **locale**? : *undefined | string*
*Defined in [index.ts:10](https://github.com/ozum/intl-sort-by/blob/a81733d/src/index.ts#L10)*
String with a BCP 47 language tag, or an array of such strings.
___
### `Optional` order
• **order**? : *Order | Array‹Order›*
*Defined in [index.ts:12](https://github.com/ozum/intl-sort-by/blob/a81733d/src/index.ts#L12)*
List of order directions to be used with given keys