Objekt-Schlüssel auswählen, die einer Bedingung entsprechen

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie man die pickBy()-Funktion verwendet, um ein neues Objekt zu erstellen, das nur aus den Schlüssel-Wert-Paaren besteht, für die eine gegebene Funktion true zurückgibt. Diese Funktion kann in Situationen nützlich sein, in denen Sie bestimmte Eigenschaften aus einem Objekt basierend auf bestimmten Kriterien filtern müssen. Wir werden lernen, wie man Object.keys(), Array.prototype.filter() und Array.prototype.reduce() verwendet, um diese Aufgabe zu erfüllen.


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{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} javascript/data_types -.-> lab-28543{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} javascript/arith_ops -.-> lab-28543{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} javascript/comp_ops -.-> lab-28543{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} javascript/array_methods -.-> lab-28543{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} javascript/higher_funcs -.-> lab-28543{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} javascript/destr_assign -.-> lab-28543{{"Objekt-Schlüssel auswählen, die einer Bedingung entsprechen"}} end

Funktion, um Objekt-Schlüssel auszuwählen, die einer bestimmten Bedingung entsprechen

Um Objekt-Schlüssel auszuwählen, die einer bestimmten Bedingung entsprechen, verwenden Sie die pickBy()-Funktion. Diese Funktion erstellt ein neues Objekt, das aus den Eigenschaften besteht, für die die gegebene Funktion einen wahren Wert zurückgibt.

  • Verwenden Sie Object.keys() und Array.prototype.filter(), um die Schlüssel zu entfernen, für die fn einen falschen Wert zurückgibt.
  • Verwenden Sie Array.prototype.reduce(), um die gefilterten Schlüssel wieder in ein Objekt mit den entsprechenden Schlüssel-Wert-Paaren umzuwandeln.
  • Die Callback-Funktion wird mit zwei Argumenten aufgerufen: (value, key).

Hier ist der Code für die pickBy()-Funktion:

const pickBy = (obj, fn) =>
  Object.keys(obj)
    .filter((k) => fn(obj[k], k))
    .reduce((acc, key) => ((acc[key] = obj[key]), acc), {});

Sie können diese Funktion verwenden, um Schlüssel auszuwählen, die einer Bedingung entsprechen. Beispiel:

pickBy({ a: 1, b: "2", c: 3 }, (x) => typeof x === "number");
// { 'a': 1, 'c': 3 }

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Pick Matching Object Keys" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.