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);Desafío
FácilCrea 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);
}
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