Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DefaultMap<K, V, D>

A Map that has a default value for missing keys.

example
const map = new DefaultMap(0);

map.get('a'); // 0
example
const map = new DefaultMap(key => key.toUpperCase());

map.get('a'); // 'A'

Type Parameters

  • K

  • V

  • D extends V = V

Hierarchy

Index

Constructors

  • new DefaultMap<K, V, D>(defaultValue: Exclude<D, AnyFunction<any[], any>>, entries?: null | Iterable<readonly [unknown, unknown]>): DefaultMap<K, V, D>
  • new DefaultMap<K, V, D>(defaultValueFn: ((key: K) => D), entries?: null | Iterable<readonly [unknown, unknown]>): DefaultMap<K, V, D>
  • Create a new DefaultMap with a specified default value.

    Time complexity: O(n)

    Space complexity: O(n)

    example
    const map = new DefaultMap(0);
    

    Type Parameters

    • K

    • V

    • D = V

    Parameters

    • defaultValue: Exclude<D, AnyFunction<any[], any>>

      The default value to use for missing keys

    • Optional entries: null | Iterable<readonly [unknown, unknown]>

    Returns DefaultMap<K, V, D>

  • Create a new DefaultMap with a specified function to generate default values.

    Time complexity: O(n)

    Space complexity: O(n)

    example
    const map = new DefaultMap(key => key.toUpperCase());
    

    Type Parameters

    • K

    • V

    • D = V

    Parameters

    • defaultValueFn: ((key: K) => D)

      The function to generate default values

        • (key: K): D
        • Parameters

          • key: K

          Returns D

    • Optional entries: null | Iterable<readonly [unknown, unknown]>

    Returns DefaultMap<K, V, D>

Properties

[toStringTag]: string
defaultValueIsFunction: boolean

If the default value is a function.

size: number
[species]: MapConstructor

Methods

  • [iterator](): IterableIterator<[K, V]>
  • Returns an iterable of entries in the map.

    Returns IterableIterator<[K, V]>

  • clear(): void
  • Returns void

  • delete(key: K): boolean
  • Parameters

    • key: K

    Returns boolean

  • entries(): IterableIterator<[K, V]>
  • Returns an iterable of key, value pairs for every entry in the map.

    Returns IterableIterator<[K, V]>

  • forEach(callbackfn: ((value: V, key: K, map: Map<K, V>) => void), thisArg?: any): void
  • Parameters

    • callbackfn: ((value: V, key: K, map: Map<K, V>) => void)
        • (value: V, key: K, map: Map<K, V>): void
        • Parameters

          • value: V
          • key: K
          • map: Map<K, V>

          Returns void

    • Optional thisArg: any

    Returns void

  • get(key: K): V | D
  • Get the value for a given key, or the default value if it's missing.

    Time complexity: O(1)

    Space complexity: O(1)

    example
    map.get('a');
    

    Parameters

    • key: K

      The key to get the value for

    Returns V | D

    The value for key, or the default value if it's missing

  • has(key: K): boolean
  • Parameters

    • key: K

    Returns boolean

  • keys(): IterableIterator<K>
  • Returns an iterable of keys in the map

    Returns IterableIterator<K>

  • Parameters

    • key: K
    • value: V

    Returns DefaultMap<K, V, D>

  • values(): IterableIterator<V>
  • Returns an iterable of values in the map

    Returns IterableIterator<V>

Generated using TypeDoc