Menu
Coddy logo textTech

Matemáticas - Diferencia simétrica

Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 39 de 65.

La diferencia simétrica de dos conjuntos A y B es un nuevo conjunto que contiene elementos que están en A o en B, pero no en ambos. Se puede pensar como la unión de A - B y B - A.

Por ejemplo:

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

// Crear la diferencia simétrica
const symmetricDiff = new Set([
  ...set1.difference(set2),
  ...set2.difference(set1)
]);

// Convertir de nuevo a un array
const result = Array.from(symmetricDiff);
challenge icon

Desafío

Fácil

Crea una función llamada efficientSymmetricDifference que tome dos arrays como parámetros: arr1 y arr2. La función debe convertir los arrays en conjuntos (sets). Crea un nuevo Set que sea la diferencia simétrica de los dos Sets de entrada, conviértelo en un array y devuelve el array.

Hoja de referencia

La diferencia simétrica de dos conjuntos contiene elementos que están en cualquiera de los conjuntos, pero no en ambos. Es la unión de A - B y B - A. Por ejemplo:

// Convertir arrays a conjuntos
const set1 = new Set(arr1);
const set2 = new Set(arr2);

// Crear la diferencia simétrica
const symmetricDiff = new Set([
  ...set1.difference(set2),
  ...set2.difference(set1)
]);

// Convertir de nuevo a array
const result = Array.from(symmetricDiff);

Pruébalo tú mismo

function efficientSymmetricDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const symDiff = new Set();
    // Escribe tu código aquí


    return Array.from(symDiff);

}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo