Introdução
Neste laboratório, exploraremos como usar o construtor Set e o método Array.prototype.every() para determinar se um iterável é um superconjunto de outro. O laboratório irá guiá-lo através da criação de uma função que verifica se o primeiro iterável contém todos os elementos do segundo iterável, excluindo quaisquer duplicatas. Ao final do laboratório, você terá uma melhor compreensão de como trabalhar com conjuntos em JavaScript.
Função para Verificar se um Conjunto é um Superconjunto de Outro Conjunto
Para verificar se um conjunto é um superconjunto de outro conjunto, use a função superSet(). Primeiro, abra o Terminal/SSH e digite node para começar a praticar a codificação. Em seguida, use as seguintes etapas:
- Crie um novo objeto
Seta partir de cada iterável usando o construtorSet. - Use
Array.prototype.every()eSet.prototype.has()para verificar se cada valor no segundo iterável está contido no primeiro. - A função retorna
truese o primeiro iterável é um superconjunto do segundo, excluindo valores duplicados. Caso contrário, retornafalse.
const superSet = (a, b) => {
const sA = new Set(a),
sB = new Set(b);
return [...sB].every((v) => sA.has(v));
};
Use superSet() com dois conjuntos como argumentos para verificar se um conjunto é um superconjunto de outro conjunto.
superSet(new Set([1, 2, 3, 4]), new Set([1, 2])); // true
superSet(new Set([1, 2, 3, 4]), new Set([1, 5])); // false
Resumo
Parabéns! Você concluiu o laboratório de Superconjunto de Iterável. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.