Как конвертировать коллекцию Map в Set и наоборот?
На learn.javascript.ru пишется, что метод forEach() может иметь 2 параметра в качестве value.
Для чего? Пишется, что...
Это сделано для совместимости с объектом Map, в котором колбэк forEach имеет 3 аргумента. Выглядит немного странно, но в некоторых случаях может помочь легко заменить Map на Set и наоборот.
Также set.keys() – это то же самое, что и set.values(). Пишется, что это тоже используется для совместимости коллекций Map и Set.
Вопрос: Как конвертировать Map в Set и наоборот? Не могу найти информацию
Ответы (1 шт):
До появления Map и Set был только массив, соответственно существует много кода, в котором массив используется там, где на самом деле нужны Map, либо Set.
Для того, чтобы не пришлось много переписывать, интерфейсы перебора для коллекций Map и Set сделали такими же как и для массива.
Поэтому вместо переписывания кода самого алгоритма, достаточно просто передать объект другого типа.