Skip to content

alphabetical

Sorts an array of objects alphabetically by a property

186 bytes
since v12.1.0

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.

The function preserves the original order of items with equal values.

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 _
_
.
function 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;
}[]

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 _
_
.
function 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;
}[]

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]