Множества в JavaScript

Давным-давно в JavaScript эмулировали множества (коллекции, в которых элемент может входить только один раз, то есть без дублирующихся элементов) с помощью названий полей:

Однако сейчас существует специальный класс Set:

Существует метод для получения итератора, с помощью которого можно пройтись по всем значениям в множестве:

Метод keys просто другое название метода values, по факту это один и тот же метод.

Метод clear позволяет очистить множество:

Можно перебрать все элементы, входящие во множество с помощью метода forEach:

Код выше выведет в консоль:

Один комментарий к “Множества в JavaScript”

  1. Тут забыто сказать, что в Set поддерживает не только строки.
    Документация гласит.
    The Set object lets you store unique values of any type, whether primitive values or object references.

    const s = new Set();
    s.add(1);
    s.add(‘1’);
    // Symbol
    const symbol = Symbol(‘1’);
    s.add(symbol)
    s.has(symbol); // true
    s.has(Symbol(‘1’)); // false

    // Global Symbol
    s.add(Symbol.for(‘1’));
    s.has(Symbol.for(‘1’)); // true
    const strObj = new String(‘1’);
    s.add(strObj)
    s.has(strObj); // true
    s.has(new String(‘1’)); // false

    // Array
    const array = [1,2];
    s.add(array);
    s.has(array); // true
    s.has([1,2]); // false

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *