I dette eksemplet vil du lære å skrive et JavaScript-program som illustrerer forskjellige settoperasjoner.
For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:
- JavaScript-sett og svakt sett
- JavaScript for … av Loop
- JavaScript-funksjon og funksjonsuttrykk
Eksempel 1: Still Union 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);
Produksjon
Sett ("eple", "mango", "oransje", "druer", "banan")
Settforeningsoperasjonen kombinerer elementer fra begge settene til ett.
Et nytt sett unionSet
opprettes ved hjelp av new Set()
. UnionSet-variabelen inneholder alle verdiene til setA. Deretter brukes for… of
sløyfen til å iterere gjennom alle elementene i setB og legge dem til unionSet ved hjelp av add()
metoden.
Settet inneholder ikke dupliserte verdier. Derfor, hvis settet inneholder den samme verdien, kastes den sistnevnte verdien.
Eksempel 2: Sett kryssdrift
// 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);
Produksjon
Sett ("eple")
Settet kryssoperasjon representerer elementer som er tilstede i både setA og setB.
Et nytt sett intersectionSet
opprettes ved hjelp av new Set()
. Deretter brukes for… of
sløyfen til å gjenta gjennom setB. For hvert element som er tilstede i både settA og settB, blir de lagt til i skjæringssettet.
Eksempel 3: Angi forskjellsoperasjon
// 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);
Produksjon
Sett ("mango", "oransje")
Settdifferensoperasjonen representerer elementer som er tilstede i ett sett og ikke i et annet sett.
DifferensSettet inneholder alle elementene i settA. Deretter brukes for… of
sløyfen til å gjenta gjennom alle elementene i setB. Hvis elementet som er tilstede i settB også er tilgjengelig i settA, blir elementet slettet ved hjelp av delete()
metoden.
Eksempel 4: Angi delsettdrift
// 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);
Produksjon
ekte
Set subset-operasjonen returnerer true hvis alle elementene i setB er i setA.
Den for… of
koplingssløyfe anvendes til å skifte mellom de forskjellige elementer av SETB. Hvis noe element som er til stede er settB ikke er tilstede i settA, false
returneres.