Elegir las Propiedades de un Objeto que Coinciden

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} javascript/data_types -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} javascript/arith_ops -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} javascript/comp_ops -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} javascript/array_methods -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} javascript/higher_funcs -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} javascript/destr_assign -.-> lab-28543{{"Elegir las Propiedades de un Objeto que Coinciden"}} end

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.