Elegir las Propiedades de un Objeto que Coinciden

Beginner

This tutorial is from open-source community. Access the source code

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() y Array.prototype.filter() para eliminar las propiedades para las cuales fn devuelve 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.