Introducción
En este laboratorio, exploraremos cómo usar el constructor Set y el método Array.prototype.every() para determinar si una iterable es un superconjunto de otra. El laboratorio te guiará en la creación de una función que comprueba si la primera iterable contiene todos los elementos de la segunda iterable, excluyendo cualquier duplicado. Al final del laboratorio, tendrás una mejor comprensión de cómo trabajar con conjuntos en JavaScript.
Función para Comprobar si un Conjunto es un Superconjunto de Otro Conjunto
Para comprobar si un conjunto es un superconjunto de otro conjunto, utiliza la función superSet(). Primero, abre la Terminal/SSH y escribe node para comenzar a practicar la codificación. Luego, sigue los siguientes pasos:
- Crea un nuevo objeto
Seta partir de cada iterable utilizando el constructorSet. - Utiliza
Array.prototype.every()ySet.prototype.has()para comprobar que cada valor en la segunda iterable está contenido en la primera. - La función devuelve
truesi la primera iterable es un superconjunto de la segunda, excluyendo los valores duplicados. En caso contrario, devuelvefalse.
const superSet = (a, b) => {
const sA = new Set(a),
sB = new Set(b);
return [...sB].every((v) => sA.has(v));
};
Utiliza superSet() con dos conjuntos como argumentos para comprobar si un conjunto es un superconjunto de otro conjunto.
superSet(new Set([1, 2, 3, 4]), new Set([1, 2])); // true
superSet(new Set([1, 2, 3, 4]), new Set([1, 5])); // false
Resumen
¡Felicidades! Has completado el laboratorio de Superconjunto de Iterable. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.