In questo esempio imparerai a scrivere un programma JavaScript che illustrerà diverse operazioni sugli insiemi.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione JavaScript:
- JavaScript Set e WeakSet
- JavaScript per … di Loop
- Funzione JavaScript ed espressioni di funzione
Esempio 1: impostazione operazione unione
// 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);
Produzione
Set ("mela", "mango", "arancia", "uva", "banana")
L'operazione di unione di insiemi combina elementi di entrambi gli insiemi in uno solo.
Viene unionSet
creato un nuovo set utilizzando new Set()
. La variabile unionSet contiene tutti i valori di setA. Quindi, il for… of
ciclo viene utilizzato per iterare tutti gli elementi di setB e aggiungerli a unionSet utilizzando il add()
metodo.
Il set non contiene valori duplicati. Quindi, se l'insieme contiene lo stesso valore, quest'ultimo valore viene scartato.
Esempio 2: impostare l'operazione di intersezione
// 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);
Produzione
Set ("mela")
L'operazione di intersezione set rappresenta gli elementi che sono presenti sia in setA che in setB.
Viene intersectionSet
creato un nuovo set utilizzando new Set()
. Quindi, il for… of
ciclo viene utilizzato per iterare attraverso il setB. Per ogni elemento presente sia in setA che in setB, vengono aggiunti all'insieme di intersezione.
Esempio 3: operazione di impostazione della differenza
// 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);
Produzione
Set ("mango", "orange")
L'operazione di differenza di insieme rappresenta gli elementi che sono presenti in un insieme e non in un altro insieme.
Il differenceSet contiene tutti gli elementi di setA. Quindi, il for… of
ciclo viene utilizzato per iterare attraverso tutti gli elementi di setB. Se l'elemento presente in setB è disponibile anche in setA, quell'elemento viene eliminato utilizzando il delete()
metodo.
Esempio 4: operazione set sottoinsieme
// 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);
Produzione
vero
L'operazione set subset restituisce true se tutti gli elementi di setB sono in setA.
Il for… of
ciclo viene utilizzato per scorrere gli elementi di setB. Se un qualsiasi elemento presente è setB non è presente in setA, false
viene restituito.