Introducción
En este laboratorio, exploraremos cómo usar la función pickBy() para crear un nuevo objeto compuesto solo por los pares clave-valor para los cuales una función dada devuelve verdadero. Esta función puede ser útil en escenarios donde necesites filtrar ciertas propiedades de un objeto según ciertos criterios. Aprenderemos cómo usar Object.keys(), Array.prototype.filter() y Array.prototype.reduce() para completar esta tarea.
Función para elegir las propiedades de un objeto que coinciden con una condición dada
Para elegir las propiedades de un objeto que coinciden con una condición dada, utiliza la función pickBy(). Esta función crea un nuevo objeto compuesto por las propiedades para las cuales la función dada devuelve un valor verdadero.
- Utiliza
Object.keys()yArray.prototype.filter()para eliminar las propiedades para las cualesfndevuelve un valor falso. - Utiliza
Array.prototype.reduce()para convertir las propiedades filtradas de nuevo en un objeto con los correspondientes pares clave-valor. - La función de devolución de llamada se invoca con dos argumentos: (valor, clave).
Aquí está el código de la función pickBy():
const pickBy = (obj, fn) =>
Object.keys(obj)
.filter((k) => fn(obj[k], k))
.reduce((acc, key) => ((acc[key] = obj[key]), acc), {});
Puedes utilizar esta función para elegir las propiedades que coinciden con una condición. Por ejemplo:
pickBy({ a: 1, b: "2", c: 3 }, (x) => typeof x === "number");
// { 'a': 1, 'c': 3 }
Resumen
¡Felicitaciones! Has completado el laboratorio de Elegir las Propiedades de un Objeto que Coinciden. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.