filterValues

import { filterValues } from "jsr:@ende/collections";

function

function filterValues<T>(record: Readonly<Record<string, T>>, predicate: (value: T) => boolean): Record<string, T>

Returns a new record with all entries of the given record except the ones that have a value that does not match the given predicate.

record: Readonly<Record<string, T>>

The record to filter values from.

predicate: (value: T) => boolean

The function to test each value for a condition.

Returns

A new record with all entries that have a value that matches the given predicate.

Example: Basic usage

import { filterValues } from "@ende/collections/filter-values";
import { assertEquals } from "@ende/assert";

const people = {
  Arnold: 37,
  Sarah: 7,
  Kim: 23,
};
const adults = filterValues(people, (person) => person >= 18);

assertEquals(
  adults,
  {
    Arnold: 37,
    Kim: 23,
  },
);

Source