Introducción
En este laboratorio, exploraremos cómo comprobar si un subconjunto de valores en un iterable está contenido en otro iterable. Usaremos el constructor Set y Array.prototype.every() para crear una función que compruebe si todos los valores en el primer iterable están presentes en el segundo iterable. Al final de este laboratorio, tendrás una mejor comprensión de cómo trabajar con conjuntos en JavaScript.
Comprobando si un subconjunto de un iterable está contenido en otro iterable
Para practicar la codificación, abre la Terminal/SSH y escribe node. Esta función comprueba si el primer iterable es un subconjunto del segundo iterable, excluyendo valores duplicados.
Para lograr esto, puedes hacer lo siguiente:
- Crea un nuevo objeto
Seta partir de cada iterable utilizando el constructorSet. - Utiliza
Array.prototype.every()ySet.prototype.has()para comprobar si cada valor en el primer iterable está contenido en el segundo iterable.
A continuación, se muestra una implementación de ejemplo:
const subSet = (a, b) => {
const setA = new Set(a);
const setB = new Set(b);
return [...setA].every((value) => setB.has(value));
};
Puedes utilizar la función subSet pasando dos conjuntos para comparar. Por ejemplo:
subSet(new Set([1, 2]), new Set([1, 2, 3, 4])); // true
subSet(new Set([1, 5]), new Set([1, 2, 3, 4])); // false
Resumen
¡Felicidades! Has completado el laboratorio de Subconjunto de Iterable. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.