Программа на JavaScript для иллюстрации различных операций над множеством

В этом примере вы научитесь писать программу на JavaScript, которая будет иллюстрировать различные операции над наборами.

Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:

  • Набор JavaScript и WeakSet
  • JavaScript для… of Loop
  • Функции и выражения функций JavaScript

Пример 1: Установить операцию объединения

 // perform union operation // contain elements of both sets function union(a, b) ( let unionSet = new Set(a); for (let i of b) ( unionSet.add(i); ) return unionSet ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('grapes', 'apple', 'banana')); const result = union(setA, setB); console.log(result);

Вывод

 Сет («яблоко», «манго», «апельсин», «виноград», «банан»)

Операция объединения наборов объединяет элементы обоих наборов в один.

Новый набор unionSetсоздается с использованием new Set(). Переменная unionSet содержит все значения setA. Затем for… ofцикл используется для перебора всех элементов setB и добавления их в unionSet с помощью add()метода.

Набор не содержит повторяющихся значений. Следовательно, если набор содержит такое же значение, последнее значение отбрасывается.

Пример 2: установка операции пересечения

 // perform intersection operation // elements of set a that are also in set b function intersection(setA, setB) ( let intersectionSet = new Set(); for (let i of setB) ( if (setA.has(i)) ( intersectionSet.add(i); ) ) return intersectionSet; ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('grapes', 'apple', 'banana')); const result = intersection(setA, setB); console.log(result);

Вывод

 Набор («яблоко»)

Операция пересечения множества представляет элементы, которые присутствуют как в setA, так и в setB.

Новый набор intersectionSetсоздается с использованием new Set(). Затем for… ofцикл используется для итерации по setB. Для каждого элемента, который присутствует как в setA, так и в setB, они добавляются в набор пересечений.

Пример 3: установка разности операций

 // perform difference operation // elements of set a that are not in set b function difference(setA, setB) ( let differenceSet = new Set(setA) for (let i of setB) ( differenceSet.delete(i) ) return differenceSet ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('grapes', 'apple', 'banana')); const result = difference(setA, setB); console.log(result);

Вывод

 Сет («манго», «апельсин»)

Операция разницы наборов представляет элементы, которые присутствуют в одном наборе, а не в другом.

DifferenceSet содержит все элементы setA. Затем for… ofцикл используется для перебора всех элементов setB. Если элемент, который присутствует в setB, также доступен в setA, этот элемент удаляется с помощью delete()метода.

Пример 4: Настройка подмножества операций

 // perform subset operation // true if all elements of set b is in set a function subset(setA, setB) ( for (let i of setB) ( if (!setA.has(i)) ( return false ) ) return true ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('apple', 'orange')); const result = subset(setA, setB); console.log(result);

Вывод

 правда

Операция set subset возвращает true, если все элементы setB находятся в setA.

for… ofЦикл используется для перебора элементов SETB. Если какой-либо элемент, который присутствует, setB отсутствует в setA, falseвозвращается.

Интересные статьи...