Introducción
En este laboratorio, exploraremos el concepto de intersección de arrays en JavaScript. Específicamente, implementaremos una función que devuelva los elementos comunes entre dos arrays, después de aplicar una función proporcionada a cada elemento de ambos arrays. Este laboratorio te ayudará a entender cómo utilizar funciones de orden superior en JavaScript para manipular arrays y resolver problemas de programación comunes.
Instrucciones para encontrar la intersección de arrays mapeados
Para encontrar los elementos comunes en dos arrays después de aplicar una función a cada elemento de ambos arrays, siga estos pasos:
- Abra la Terminal/SSH y escriba
node. - Utilice el código proporcionado a continuación:
const intersectionBy = (a, b, fn) => {
const s = new Set(b.map(fn));
return [...new Set(a)].filter((x) => s.has(fn(x)));
};
- En el código, reemplace
aybcon sus arrays yfncon la función que desea aplicar a cada elemento. - Ejecute el código para obtener el array resultante con los elementos comunes.
Ejemplo:
intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [2.1]
intersectionBy(
[{ title: "Apple" }, { title: "Orange" }],
[{ title: "Orange" }, { title: "Melon" }],
(x) => x.title
); // [{ title: 'Orange' }]
En el primer ejemplo, la función Math.floor se aplica a los arrays [2.1, 1.2] y [2.3, 3.4], devolviendo el elemento común [2.1].
En el segundo ejemplo, la función x => x.title se aplica a los arrays [{ title: 'Apple' }, { title: 'Orange' }] y [{ title: 'Orange' }, { title: 'Melon' }], devolviendo el elemento común [{ title: 'Orange' }].
Resumen
¡Felicidades! Has completado el laboratorio de Intersección de Arrays Mapeados. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.