Новые методы в Set()
Для начала вспомниv, что такое Set() . Он похож на массив, за исключением того, что каждое значение может быть сохранено только один раз. То бишь - только уникальные значения можем хранить в него. Раньше было скудное кол-во методов, мы могли сделать crud и использовать методы prototype типо .values()
Теперь во всех зеленых браузерах и 22+ ноде есть новые методы сравнение и объединения set’ов:
- set1.intersection(set2) Объединяет два set’а и возвращает те значения, что есть в обоих set’ах.
- set1.union(set2) возвращает новое множество со всеми элементами в обоих set’ах.
- set1.difference(set2) возвращает новый set в котором будут только уникальные значения из первого set.
- set1.symmetricDifference(set2) возвращает новый set, с теми значениями, которые не повторяются между двумя set’ами
- set1.isSubsetOf(set2) возвращает boolean - является первый подмножеством второго set’а (чувствую себя на алгебре в школе)
- set1.isSupersetOf(set2) как предыдущий только наоборот - является ли второй подмножеством первого.
- set1.isDisjointFrom(set2) возвращает boolean - есть ли общие элементы у двух set’ов
Мне кажется это то, чего нам так не хватало. Теперь всевозможные проверки на уникальность и прочее делать будет сильно проще. Ждем как обновление раскатится по юзерам.
Менторство от автора - @H8err | getMentor.dev