Novos métodos no Set
O Set no JavaScript é um objeto global nativo que permite guardar valores únicos de qualquer tipo, sejam eles valores primitivos ou referências de objetos. Impede automaticamente a existência de elementos duplicados na coleção.
Novas funcionalidades de conjuntos (Set)
Aqui estão as novas operações nativas e como funcionam, de forma simplificada:
intersection(): devolve um novo conjunto com os elementos que existem em ambos os conjuntos.union(): une os elementos de ambos os conjuntos num novo, mantendo a unicidade.difference(): devolve os elementos do primeiro conjunto que não existem no segundo.symmetricDifference(): devolve os elementos que estão num dos conjuntos, mas não em ambos.isSubsetOf(): verifica se todos os elementos do primeiro conjunto estão contidos no segundo.isSupersetOf(): verifica se o primeiro conjunto contém todos os elementos do segundo.isDisjointFrom(): verifica se os dois conjuntos não têm nenhum elemento em comum.
// Criar conjuntos base (valores únicos)
const desenvolvedoresJS = new Set(['Ana', 'Beto', 'Carlos']);
const desenvolvedoresPython = new Set(['Carlos', 'Daniela', 'Ana']);
// 1. Interseção (quem domina ambas as linguagens?)
const ambidestros = desenvolvedoresJS.intersection(desenvolvedoresPython);
console.log(ambidestros); // Set(2) { 'Ana', 'Carlos' }
// 2. União (lista total de profissionais sem duplicados)
const equipaTI = desenvolvedoresJS.union(desenvolvedoresPython);
console.log(equipaTI); // Set(4) { 'Ana', 'Beto', 'Carlos', 'Daniela' }
// 3. Diferença (quem sabe apenas JS e não sabe Python?)
const soJavaScript = desenvolvedoresJS.difference(desenvolvedoresPython);
console.log(soJavaScript); // Set(1) { 'Beto' }
// 4. Diferença simétrica (quem sabe apenas uma das linguagens?)
const especialistas = desenvolvedoresJS.symmetricDifference(desenvolvedoresPython);
console.log(especialistas); // Set(2) { 'Beto', 'Daniela' }
// 5. Verificação de subconjunto
const estagiarios = new Set(['Ana']);
console.log(estagiarios.isSubsetOf(desenvolvedoresJS)); // true