В този пример ще се научите да пишете програма на JavaScript, която ще илюстрира различни операции на набор.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на JavaScript:
- JavaScript Set и WeakSet
- JavaScript за … на 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 връща true, ако всички елементи на setB са в setA.
В for… of
линия се използва за линия чрез елементите на setB. Ако някой елемент, който присъства, е setB не присъства в setA, false
се връща.