Werte in geschachtelten Objekten abrufen

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 in JavaScript-Objekten geschachtelte Werte mithilfe einer Funktion namens dig abruft. Diese Funktion kann verwendet werden, um einen bestimmten Wert aus einem komplexen geschachtelten Objekt abzurufen, was es einfacher macht, die erforderlichen Informationen zuzugreifen. Durch dieses Lab lernen Sie, wie Sie den in-Operator und die reduce()-Methode verwenden, um durch geschachtelte Objekte zu iterieren und den Zielwert zu finden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} javascript/data_types -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} javascript/arith_ops -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} javascript/comp_ops -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} javascript/cond_stmts -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} javascript/array_methods -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} javascript/higher_funcs -.-> lab-28357{{"Werte in geschachtelten Objekten abrufen"}} end

Wie man einen geschachtelten Wert in einem JSON-Objekt erhält

Um einen Zielwert aus einem geschachtelten JSON-Objekt basierend auf einem angegebenen Schlüssel abzurufen, folgen Sie diesen Schritten:

  • Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen.
  • Überprüfen Sie, ob das target im obj mithilfe des in-Operators vorhanden ist.
  • Wenn das target gefunden wird, geben Sie den entsprechenden Wert im obj zurück.
  • Wenn das target nicht gefunden wird, verwenden Sie Object.values() und Array.prototype.reduce(), um die dig-Funktion rekursiv auf jedes geschachtelte Objekt aufzurufen, bis das erste übereinstimmende Schlüssel/Wert-Paar gefunden ist.

Hier ist der Code für die dig-Funktion:

const dig = (obj, target) =>
  target in obj
    ? obj[target]
    : Object.values(obj).reduce((acc, val) => {
        if (acc !== undefined) return acc;
        if (typeof val === "object") return dig(val, target);
      }, undefined);

Um die dig-Funktion zu verwenden, erstellen Sie zunächst ein JSON-Objekt mit geschachtelten Ebenen, wie folgt:

const data = {
  level1: {
    level2: {
      level3: "einige Daten"
    }
  }
};

Rufen Sie dann die dig-Funktion mit dem JSON-Objekt und dem gewünschten Schlüssel auf:

dig(data, "level3"); // 'einige Daten'
dig(data, "level4"); // undefined

Diese Beispiele werden den Wert des level3-Schlüssels im data-Objekt zurückgeben und undefined für den nicht vorhandenen level4-Schlüssel.

Zusammenfassung

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