Методы JavaScript Set теперь являются частью Baseline.

Теперь вы можете использовать Set methods для выполнения операций над множествами, таких как intersection , union и т. д.

Поддержка браузера

  • Хром: 122.
  • Край: 122.
  • Фаерфокс: 127.
  • Сафари: 17.

Источник

Наборы — это важная структура данных в любом языке программирования. Теперь вы можете использовать встроенные методы JavaScript для выполнения операций над множествами. Упростите операции с множествами, используя следующие методы:

intersection()

intersection() возвращает новый набор, содержащий элементы как из этого, так и из заданного набора.

const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.intersection(squares)); // Set(2) { 1, 9 }

union()

union() возвращает новый набор, содержащий все элементы этого набора и данного набора.

const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.union(squares)); // Set(6) { 2, 4, 6, 8, 1, 9 }

difference()

difference() возвращает новый набор, содержащий элементы из этого набора, но не из данного набора.

const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }

symmetricDifference()

symmetricDifference() возвращает новый набор, содержащий элементы, которые входят либо в этот набор, либо в заданный набор, но не в оба.

const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.symmetricDifference(squares)); // Set(5) { 2, 6, 8, 1, 9 }

isSubsetOf()

isSubsetOf() возвращает логическое значение, указывающее, все ли элементы этого набора входят в данный набор.

const fours = new Set([4, 8, 12, 16]);
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
console.log(fours.isSubsetOf(evens)); // true

isSupersetOf()

isSupersetOf() возвращает логическое значение, указывающее, все ли элементы данного набора находятся в этом наборе.

const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
const fours = new Set([4, 8, 12, 16]);
console.log(evens.isSupersetOf(fours)); // true

isDisjointFrom()

isDisjointFrom() Возвращает логическое значение, указывающее, имеет ли этот набор общие элементы с данным набором.

const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const squares = new Set([1, 4, 9, 16]);
console.log(primes.isDisjointFrom(squares)); // true

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