Skip to content

alphabetical

Sorts an array of objects alphabetically by a property

186 bytes

Usage

Given an array of objects and a callback function used to determine the property to use for sorting, return a new array with the objects sorted alphabetically. A third, and optional, argument allows you to sort in descending order instead of the default ascending order.

For numerical sorting, see the sort function.

import * as
import _
_
from 'radashi'
const
const gods: {
name: string;
power: number;
}[]
gods
= [
{
name: string
name
: 'Ra',
power: number
power
: 100,
},
{
name: string
name
: 'Zeus',
power: number
power
: 98,
},
{
name: string
name
: 'Loki',
power: number
power
: 72,
},
{
name: string
name
: 'Vishnu',
power: number
power
: 100,
},
]
const
const alphabeticalByName: {
name: string;
power: number;
}[]
alphabeticalByName
=
import _
_
.
alphabetical<{
name: string;
power: number;
}>(array: readonly {
name: string;
power: number;
}[], getter: (item: {
name: string;
power: number;
}) => string, direction?: "asc" | "desc"): {
name: string;
power: number;
}[]
export alphabetical

Sort an array without modifying it and return the newly sorted value. Allows for a string sorting value.

alphabetical
(
const gods: {
name: string;
power: number;
}[]
gods
,
g: {
name: string;
power: number;
}
g
=>
g: {
name: string;
power: number;
}
g
.
name: string
name
) // => [Loki, Ra, Vishnu, Zeus]
const
const alphabeticalByNameDesc: {
name: string;
power: number;
}[]
alphabeticalByNameDesc
=
import _
_
.
alphabetical<{
name: string;
power: number;
}>(array: readonly {
name: string;
power: number;
}[], getter: (item: {
name: string;
power: number;
}) => string, direction?: "asc" | "desc"): {
name: string;
power: number;
}[]
export alphabetical

Sort an array without modifying it and return the newly sorted value. Allows for a string sorting value.

alphabetical
(
const gods: {
name: string;
power: number;
}[]
gods
,
g: {
name: string;
power: number;
}
g
=>
g: {
name: string;
power: number;
}
g
.
name: string
name
, 'desc') // => [Zeus, Vishnu, Ra, Loki]