Introducción
En este laboratorio, exploraremos cómo filtrar valores de una matriz basados en una función comparadora dada. Utilizaremos los métodos Array.prototype.filter() y Array.prototype.findIndex() para lograr esto. Además, aprenderemos cómo utilizar el comparador de igualdad estricta predeterminado si no se proporciona una función comparadora.
Cómo filtrar valores de un array basados en una función
Para filtrar todos los valores de un array basados en una función comparadora dada, siga estos pasos:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Utilice
Array.prototype.filter()yArray.prototype.findIndex()para encontrar los valores adecuados. - Omita el último argumento,
comp, para utilizar un comparador de igualdad estricta predeterminado. - Utilice el siguiente código:
const differenceWith = (arr, val, comp = (a, b) => a === b) =>
arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1);
- Pruebe su función con los siguientes ejemplos:
differenceWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0],
(a, b) => Math.round(a) === Math.round(b)
); // Salida esperada: [1, 1.2]
differenceWith([1, 1.2, 1.3], [1, 1.3, 1.5]); // Salida esperada: [1.2]
Resumen
¡Felicidades! Has completado el laboratorio de Diferencias en Arrays Basadas en Funciones. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.