Neste exemplo, você aprenderá a escrever um programa JavaScript que ilustrará diferentes operações de conjunto.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação JavaScript:
- Conjunto de JavaScript e WeakSet
- JavaScript para … do Loop
- Função JavaScript e expressões de função
Exemplo 1: Definir operação de união
// 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);
Resultado
Conjunto ("maçã", "manga", "laranja", "uvas", "banana")
A operação de união de conjuntos combina elementos de ambos os conjuntos em um.
Um novo conjunto unionSet
é criado usando new Set()
. A variável unionSet contém todos os valores de setA. Em seguida, o for… of
loop é usado para iterar por todos os elementos de setB e adicioná-los a unionSet usando o add()
método.
O conjunto não contém valores duplicados. Portanto, se o conjunto contiver o mesmo valor, o último valor será descartado.
Exemplo 2: Definir operação de interseção
// 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);
Resultado
Conjunto ("maçã")
A operação de interseção de conjunto representa os elementos que estão presentes em setA e setB.
Um novo conjunto intersectionSet
é criado usando new Set()
. Em seguida, o for… of
loop é usado para iterar pelo setB. Para cada elemento que está presente em setA e setB, eles são adicionados ao conjunto de interseção.
Exemplo 3: Definir a operação de diferença
// 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);
Resultado
Conjunto ("manga", "laranja")
A operação de diferença de conjunto representa elementos que estão presentes em um conjunto e não em outro conjunto.
O differentSet contém todos os elementos de setA. Em seguida, o for… of
loop é usado para iterar por todos os elementos de setB. Se o elemento que está presente em setB também estiver disponível em setA, esse elemento será excluído usando o delete()
método.
Exemplo 4: Definir operação de subconjunto
// 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);
Resultado
verdade
A operação de conjunto de subconjunto retorna verdadeiro se todos os elementos de setB estão em setA.
O for… of
loop é usado para percorrer os elementos de setB. Se algum elemento presente for setB não estiver presente em setA, false
será retornado.