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 }Desafío
FácilCrea 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);
}
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
1Strings en profundidad
Fundamentos de stringsIterar sobre stringsTemplate LiteralsMétodos de stringsResumen - String Weaver4JSON Parte 2
Iterar sobre JSONJSON anidadoEncadenamiento opcional en JSONCopia superficial y profundaResumen - Tienda de bicicletasResumen - Sistema solar7Sistema de Gestión de Biblioteca
Descripción general del proyectoAñadir libros10Gestionar el sistema del festival
Descripción general del proyectoAñadir películas y sedes2Arreglos multidimensionales
Conceptos básicos de arreglos 2DAcceso a elementos de arreglos 2DBucles anidados con arreglos 2DResumen - Arreglos 2DSuma y resta de matricesArreglos irregulares (Jagged Arrays)Arreglos 3D y más alláPatrones comunes en arreglos 2DResumen - Todo sobre arreglos5Conjuntos Parte 1
¿Qué es un conjunto?Iterar sobre conjuntosAñadir un elementoEliminar un elementoComprobar si un elemento existeTamaño y Is EmptyCopy y ClearResumen - Conceptos básicos de conjuntos8Temas interesantes de Arrays
Desestructuración de ArraysSintaxis Spread en ArraysArrays dispersosResumen - Taller de Arrays3JSON Parte 1
¿Qué es un JSON?Comprobar si existe una claveMétodos de objetoEl Spread Operator Parte 1El Spread Operator Parte 2Eliminar clavesResumen - Manipular claves de JSON6Conjuntos Parte 2
Matemáticas - Unión de conjuntosMatemáticas - Intersección de conjuntosMatemáticas - Diferencia de conjuntosMatemáticas - Diferencia simétricaSubconjuntos y superconjuntosRepaso - Agrupar amigos