Menu
Coddy logo textTech

Matemáticas - Diferencia de conjuntos

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

La diferencia de dos conjuntos A y B (a menudo escrita como A - B) es un nuevo conjunto que contiene elementos que están en A pero no en B. Esta operación no es conmutativa, lo que significa que A - B no es necesariamente lo mismo que B - A.

Por ejemplo:

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B: elementos en A pero no en B
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A: elementos en B pero no en A
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }
challenge icon

Desafío

Fácil

Crea una función llamada setDifference que toma dos arrays como parámetros: arr1 y arr2. La función debe convertir los arrays en sets. Crea un nuevo Set que contenga los elementos que están en set1 pero no en set2, conviértelo en un array y devuélvelo

Hoja de referencia

La diferencia de dos conjuntos A y B (A - B) crea un nuevo conjunto que contiene elementos que están en A pero no en B. Esta operación no es conmutativa (A - B ≠ B - A).

Para encontrar la diferencia entre conjuntos, convierte los arrays en conjuntos y utiliza operaciones de conjuntos para encontrar elementos en el primer conjunto pero no en el segundo. Por ejemplo:

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B: elementos en A pero no en B
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A: elementos en B pero no en A
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }

Pruébalo tú mismo

function setDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const differenceSet = new Set();
    // Escribe tu código aquí
    
    
    return Array.from(differenceSet);
}
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