Skip to main content
Module

std/collections/mod.ts>sortBy

The Deno Standard Library
Latest
function sortBy
import { sortBy } from "https://deno.land/std@0.224.0/collections/mod.ts";

Returns all elements in the given collection, sorted by their result using the given selector. The selector function is called only once for each element. Ascending or descending order can be specified.

Examples

Example 1

import { sortBy } from "https://deno.land/std@0.224.0/collections/sort_by.ts";
import { assertEquals } from "https://deno.land/std@0.224.0/assert/assert_equals.ts";

const people = [
  { name: "Anna", age: 34 },
  { name: "Kim", age: 42 },
  { name: "John", age: 23 },
];
const sortedByAge = sortBy(people, (it) => it.age);

assertEquals(sortedByAge, [
  { name: "John", age: 23 },
  { name: "Anna", age: 34 },
  { name: "Kim", age: 42 },
]);

const sortedByAgeDesc = sortBy(people, (it) => it.age, { order: "desc" });

assertEquals(sortedByAgeDesc, [
  { name: "Kim", age: 42 },
  { name: "Anna", age: 34 },
  { name: "John", age: 23 },
]);

Parameters

array: readonly T[]
selector: (el: T) => number
optional
options: SortByOptions

Returns all elements in the given collection, sorted by their result using the given selector. The selector function is called only once for each element. Ascending or descending order can be specified.

Examples

Example 1

import { sortBy } from "https://deno.land/std@0.224.0/collections/sort_by.ts";

const people = [
  { name: "Anna" },
  { name: "Kim" },
  { name: "John" },
];
const sortedByName = sortBy(people, (it) => it.name);

Parameters

array: readonly T[]
selector: (el: T) => string
optional
options: SortByOptions

Returns all elements in the given collection, sorted by their result using the given selector. The selector function is called only once for each element. Ascending or descending order can be specified.

Examples

Example 1

import { sortBy } from "https://deno.land/std@0.224.0/collections/sort_by.ts";

const people = [
  { name: "Anna", age: 34n },
  { name: "Kim", age: 42n },
  { name: "John", age: 23n },
];
const sortedByAge = sortBy(people, (it) => it.age);

Parameters

array: readonly T[]
selector: (el: T) => bigint
optional
options: SortByOptions

Returns all elements in the given collection, sorted by their result using the given selector. The selector function is called only once for each element. Ascending or descending order can be specified.

Examples

Example 1

import { sortBy } from "https://deno.land/std@0.224.0/collections/sort_by.ts";

const people = [
  { name: "Anna", startedAt: new Date("2020-01-01") },
  { name: "Kim", startedAt: new Date("2020-03-01") },
  { name: "John", startedAt: new Date("2020-06-01") },
];
const sortedByStartedAt = sortBy(people, (it) => it.startedAt);

Parameters

array: readonly T[]
selector: (el: T) => Date
optional
options: SortByOptions