I det här exemplet lär du dig att skriva ett JavaScript-program som illustrerar olika uppsättningar.
För att förstå detta exempel bör du ha kunskap om följande JavaScript-programmeringsämnen:
- JavaScript Set och WeakSet
- JavaScript för … av Loop
- JavaScript-funktion och funktionsuttryck
Exempel 1: Ställ in unionens funktion
// 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);
Produktion
Set ("äpple", "mango", "apelsin", "druvor", "banan")
Uppsättningsföreningsoperationen kombinerar element från båda uppsättningarna till en.
En ny uppsättning unionSet
skapas med new Set()
. UnionSet-variabeln innehåller alla värdena för setA. Sedan används for… of
slingan för att itera igenom alla element i setB och lägga till dem till unionSet med add()
metoden.
Uppsättningen innehåller inte dubbla värden. Därför, om uppsättningen innehåller samma värde, kastas det senare värdet.
Exempel 2: Ställ in korsning
// 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);
Produktion
Set ("äpple")
Den inställda skärningsprocessen representerar element som finns i både setA och setB.
En ny uppsättning intersectionSet
skapas med new Set()
. Därefter används for… of
slingan för att iterera genom setB. För varje element som finns i både setA och setB läggs de till i korsningsuppsättningen.
Exempel 3: Ange skillnad
// 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);
Produktion
Set ("mango", "orange")
Funktionen för inställningsskillnad representerar element som finns i en uppsättning och inte i en annan uppsättning.
Differensset innehåller alla element i setA. Sedan används for… of
slingan för att itera igenom alla element i setB. Om elementet som finns i setB också är tillgängligt i setA raderas det elementet med delete()
metoden.
Exempel 4: Ställ in delmängd
// 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);
Produktion
Sann
Den inställda delmängdsoperationen returnerar true om alla element i setB är i setA.
Den for… of
slinga används för att slinga genom elementen i SETB. Om något element som är närvarande är setB inte finns i setA false
returneras.