From 7cd28354375a3ca56bda1d63064a8c0b6a038828 Mon Sep 17 00:00:00 2001 From: Marco Cruz Date: Mon, 9 Sep 2024 02:24:55 +0000 Subject: [PATCH] :sparkles: Add typescript solution challenge-18 --- 2024/18-conjuntos/solution.ts | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 2024/18-conjuntos/solution.ts diff --git a/2024/18-conjuntos/solution.ts b/2024/18-conjuntos/solution.ts new file mode 100644 index 0000000..3c9c21e --- /dev/null +++ b/2024/18-conjuntos/solution.ts @@ -0,0 +1,62 @@ +/* eslint-disable no-console */ + +let dataSet: (number | string)[] = [1, 2, 3, 4, 5]; + +// Añadir un elemento al final +dataSet.push(6); +console.log("Añadir un elemento al final:", dataSet); + +// Añadir un elemento al principio +dataSet.unshift(0); +console.log("Añadir un elemento al principio:", dataSet); + +// Añadir varios elementos en bloque al final +dataSet.push(7, 8, 9); +console.log("Añadir varios elementos al final:", dataSet); + +// Añadir varios elementos en bloque en una posición concreta +dataSet.splice(3, 0, "a", "b", "c"); +console.log("Añadir varios elementos en una posición concreta:", dataSet); + +// Eliminar un elemento en una posición concreta +dataSet.splice(4, 1); // Elimina el elemento en la posición 4 +console.log("Eliminar un elemento en una posición concreta:", dataSet); + +// Actualizar el valor de un elemento en una posición concreta +dataSet[4] = "updated"; +console.log( + "Actualizar el valor de un elemento en una posición concreta:", + dataSet +); + +// Comprobar si un elemento está en el conjunto +const exists: boolean = dataSet.includes("updated"); +console.log("Comprobar si un elemento está en el conjunto:", exists); + +// Eliminar todo el contenido del conjunto +dataSet = []; +console.log("Eliminar todo el contenido del conjunto:", dataSet); + +// Ejemplos con conjuntos (Sets) +const setA: Set = new Set([1, 2, 3, 4]); +const setB: Set = new Set([3, 4, 5, 6]); + +// Unión +const union: Set = new Set([...setA, ...setB]); +console.log("Unión:", union); + +// Intersección +const intersection: Set = new Set([...setA].filter((x) => setB.has(x))); +console.log("Intersección:", intersection); + +// Diferencia +const difference: Set = new Set([...setA].filter((x) => !setB.has(x))); +console.log("Diferencia:", difference); + +// Diferencia simétrica +const symmetricDifference: Set = new Set( + [...setA] + .filter((x) => !setB.has(x)) + .concat([...setB].filter((x) => !setA.has(x))) +); +console.log("Diferencia simétrica:", symmetricDifference);