I dette eksempel lærer du at skrive et JavaScript-program, der illustrerer forskellige sætoperationer.
For at forstå dette eksempel skal du have kendskab til følgende JavaScript-programmeringsemner:
- JavaScript-sæt og svag sæt
- JavaScript til … af Loop
- JavaScript-funktion og funktionsudtryk
Eksempel 1: Indstil EU-operation
// 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
Sæt ("æble", "mango", "appelsin", "druer", "banan")
Sætforeningsoperationen kombinerer elementer fra begge sæt til et.
Et nyt sæt unionSet
oprettes ved hjælp af new Set()
. UnionSet-variablen indeholder alle værdierne for setA. Derefter for… of
bruges sløjfen til at gentage alle elementerne i setB og føje dem til unionSet ved hjælp af add()
metoden.
Sættet indeholder ikke duplikatværdier. Derfor, hvis sættet indeholder den samme værdi, kasseres den sidstnævnte værdi.
Eksempel 2: Indstil skæringsfunktion
// 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
Sæt ("æble")
Sæt krydsfunktionen repræsenterer elementer, der er til stede i både setA og setB.
Et nyt sæt intersectionSet
oprettes ved hjælp af new Set()
. Derefter for… of
bruges sløjfen til at gentage gennem setB. For hvert element, der er til stede i både setA og setB, føjes de til skæringssættet.
Eksempel 3: Indstil forskellen
// 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
Sæt ("mango", "orange")
Sætforskellen betegner elementer, der er til stede i et sæt og ikke i et andet sæt.
Differenceset indeholder alle elementerne i setA. Derefter for… of
bruges sløjfen til at gentage alle elementerne i setB. Hvis elementet, der er til stede i setB, også er tilgængeligt i setA, slettes elementet ved hjælp af delete()
metoden.
Eksempel 4: Indstil delsætfunktion
// 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
sand
Den indstillede delmængdeoperation returnerer sand, hvis alle elementerne i sætB er i sætA.
Den for… of
løkke anvendes til at sløjfe gennem elementerne i SETB. Hvis et element, der er til stede, er setB ikke er til stede i sætA, false
returneres.