ds-kit-js - v1.1.0
    Preparing search index...

    Class MultiMap<K, V>

    Словарь, в котором одному ключу соответствует несколько значений (в порядке добавления). Удобен для группировки и индексов.

    const tags = new MultiMap<string, string>();
    tags.add('js', 'post-1').add('js', 'post-2').add('ts', 'post-2');
    tags.get('js'); // ['post-1', 'post-2']
    tags.size; // 3

    Type Parameters

    • K
    • V

    Implements

    • Iterable<[K, V]>
    Index
    • get size(): number

      Общее количество значений.

      Returns number

    • get keyCount(): number

      Количество различных ключей.

      Returns number

    • Создаёт MultiMap, группируя элементы по ключу.

      Type Parameters

      • K
      • T

      Parameters

      • items: Iterable<T>
      • keyOf: (item: T) => K

      Returns MultiMap<K, T>

    • Добавляет значение к ключу.

      Parameters

      • key: K
      • value: V

      Returns this

    • Все значения ключа (копия); пустой массив, если ключа нет.

      Parameters

      • key: K

      Returns V[]

    • Parameters

      • key: K

      Returns boolean

    • Есть ли у ключа данное значение (сравнение через Object.is).

      Parameters

      • key: K
      • value: V

      Returns boolean

    • Количество значений у ключа.

      Parameters

      • key: K

      Returns number

    • Удаляет ключ со всеми значениями.

      Parameters

      • key: K

      Returns boolean

    • Удаляет одно (первое) вхождение значения у ключа.

      Parameters

      • key: K
      • value: V

      Returns boolean

    • Returns IterableIterator<K>

    • Returns IterableIterator<V>

    • Пары [ключ, массив значений].

      Returns IterableIterator<[K, V[]]>

    • Плоские пары [ключ, значение].

      Returns IterableIterator<[K, V]>

    • Returns IterableIterator<[K, V]>