V tem primeru se boste naučili pisati program JavaScript, ki bo ponazoril različne nastavljene operacije.
Če želite razumeti ta primer, morate poznati naslednje teme programiranja JavaScript:
- JavaScript in WeakSet
- JavaScript za … zanke
- Funkcije JavaScript in izrazi funkcij
Primer 1: Nastavite Union Union
// 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);
Izhod
Set ("jabolko", "mango", "oranžna", "grozdje", "banana")
Operacija združitve nizov združuje elemente obeh sklopov v enega.
Nov nabor unionSet
je ustvarjen z uporabo new Set()
. Spremenljivka unionSet vsebuje vse vrednosti setA. Nato se for… of
zanka uporablja za iteracijo skozi vse elemente setB in jih z uporabo add()
metode doda v unionSet .
Nabor ne vsebuje podvojenih vrednosti. Če torej niz vsebuje isto vrednost, se slednja vrednost zavrže.
Primer 2: Nastavite delovanje križišča
// 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);
Izhod
Set ("jabolko")
Operacija presečišča množic predstavlja elemente, ki so prisotni tako v setA kot v setB.
Nov nabor intersectionSet
je ustvarjen z uporabo new Set()
. Nato se for… of
zanka uporablja za iteracijo skozi setB. Za vsak element, ki je prisoten tako v setA kot v setB, se dodata presečnemu nizu.
3. primer: nastavite operacijo razlike
// 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);
Izhod
Set ("mango", "oranžna")
Operacija nastavitve razlike predstavlja elemente, ki so prisotni v enem in ne v drugem nizu.
Različica vsebuje vse elemente množiceA. Nato se for… of
zanka uporablja za iteracijo skozi vse elemente setB. Če je element, ki je prisoten v setB, na voljo tudi v setA, se ta element z delete()
metodo izbriše .
Primer 4: Nastavite delovanje podskupine
// 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);
Izhod
prav
Operacija nastavljene podmnožice vrne true, če so vsi elementi setB v setA.
for… of
Zanka se uporablja za zanko skozi elemente setB. Če kateri koli element, ki je prisoten, setB ni prisoten v setA, false
se vrne.