In dit voorbeeld leert u een JavaScript-programma te schrijven dat verschillende setbewerkingen illustreert.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende JavaScript-programmeeronderwerpen:
- JavaScript Set en WeakSet
- JavaScript voor … van Loop
- JavaScript-functie en functie-expressies
Voorbeeld 1: Union Operation instellen
// 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);
Uitvoer
Set ("appel", "mango", "sinaasappel", "druiven", "banaan")
De set-unie-operatie combineert elementen van beide sets tot één.
Er wordt een nieuwe set unionSet
gemaakt met new Set()
. De variabele unionSet bevat alle waarden van setA. Vervolgens wordt de for… of
lus gebruikt om alle elementen van setB te doorlopen en ze met de add()
methode toe te voegen aan unionSet .
De set bevat geen dubbele waarden. Dus als de set dezelfde waarde bevat, wordt de laatste waarde verwijderd.
Voorbeeld 2: kruispuntbewerking instellen
// 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);
Uitvoer
Set ("appel")
De set-doorsnijdingsoperatie vertegenwoordigt elementen die aanwezig zijn in zowel setA als setB.
Er wordt een nieuwe set intersectionSet
gemaakt met new Set()
. Vervolgens wordt de for… of
lus gebruikt om door de setB te itereren. Voor elk element dat zowel in setA als setB aanwezig is, worden ze toegevoegd aan de intersectieset.
Voorbeeld 3: Stel de verschillende werking in
// 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);
Uitvoer
Set ("mango", "orange")
De setverschilbewerking vertegenwoordigt elementen die in de ene set aanwezig zijn en niet in een andere set.
De differentieSet bevat alle elementen van setA. Vervolgens wordt de for… of
lus gebruikt om alle elementen van setB te doorlopen. Als het element dat aanwezig is in setB ook beschikbaar is in setA, wordt dat element verwijderd met delete()
method.
Voorbeeld 4: Subset-bewerking instellen
// 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);
Uitvoer
waar
De set-subset-bewerking retourneert true als alle elementen van setB in setA zijn.
De for… of
lus wordt gebruikt om door de elementen van setB te lopen. Als een element dat aanwezig is, setB niet aanwezig is in setA, false
wordt geretourneerd.