Menu
Coddy logo textTech

Matemática - Diferença Simétrica

Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 39 de 65.

A diferença simétrica de dois conjuntos A e B é um novo conjunto que contém elementos que estão em A ou em B, mas não em ambos. Ela pode ser pensada como a união de A - B e B - A.

Por exemplo:

const set1 = new Set(arr1);
const set2 = new Set(arr2);

// Criar a diferença simétrica
const symmetricDiff = new Set([
  ...set1.difference(set2),
  ...set2.difference(set1)
]);

// Converter de volta para array
const result = Array.from(symmetricDiff);
challenge icon

Desafio

Fácil

Crie uma função chamada efficientSymmetricDifference que recebe dois arrays como parâmetros: arr1 e arr2. A função deve converter os arrays em sets. Crie um novo Set que seja a diferença simétrica dos dois Sets de entrada, converta-o em um array e retorne o array

Folha de consulta

A diferença simétrica de dois conjuntos contém elementos que estão em qualquer um dos conjuntos, mas não em ambos. É a união de A - B e B - A. Por exemplo:

// Converter arrays para conjuntos
const set1 = new Set(arr1);
const set2 = new Set(arr2);

// Criar a diferença simétrica
const symmetricDiff = new Set([
  ...set1.difference(set2),
  ...set2.difference(set1)
]);

// Converter de volta para array
const result = Array.from(symmetricDiff);

Experimente você mesmo

function efficientSymmetricDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const symDiff = new Set();
    // Escreva seu código aqui


    return Array.from(symDiff);

}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo