Abrufen von Werten in verschachtelten JSON-Objekten

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 verschachtelte Werte aus einem JSON-Objekt anhand eines Arrays von Schlüsseln abruft. Wir werden die reduce()-Methode verwenden, um die verschachtelte Struktur des Objekts zu traversieren und den Zielwert abzurufen. Am Ende dieses Labs werden Sie ein besseres Verständnis dafür haben, wie man bestimmte Werte in einem komplexen JSON-Objekt zugreift.


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") subgraph Lab Skills javascript/variables -.-> lab-28264{{"Abrufen von Werten in verschachtelten JSON-Objekten"}} javascript/data_types -.-> lab-28264{{"Abrufen von Werten in verschachtelten JSON-Objekten"}} javascript/arith_ops -.-> lab-28264{{"Abrufen von Werten in verschachtelten JSON-Objekten"}} javascript/comp_ops -.-> lab-28264{{"Abrufen von Werten in verschachtelten JSON-Objekten"}} javascript/array_methods -.-> lab-28264{{"Abrufen von Werten in verschachtelten JSON-Objekten"}} javascript/higher_funcs -.-> lab-28264{{"Abrufen von Werten in verschachtelten JSON-Objekten"}} end

Wie man einen verschachtelten Wert in einem Objekt mithilfe eines Arrays von Schlüsseln abruft

Um einen bestimmten Wert aus einem verschachtelten JSON-Objekt abzurufen, können Sie die deepGet-Funktion verwenden. Diese Funktion nimmt ein Objekt und ein Array von Schlüsseln entgegen und gibt den Zielwert zurück, wenn er im Objekt vorhanden ist.

Um die deepGet-Funktion zu verwenden:

  • Erstellen Sie ein Array der Schlüssel, die Sie aus dem verschachtelten JSON-Objekt abrufen möchten.
  • Rufen Sie die deepGet-Funktion mit dem Objekt und dem Array der Schlüssel auf.
  • Die Funktion wird den Zielwert zurückgeben, wenn er vorhanden ist, oder null, wenn er nicht vorhanden ist.

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

const deepGet = (obj, keys) =>
  keys.reduce(
    (xs, x) => (xs && xs[x] !== null && xs[x] !== undefined ? xs[x] : null),
    obj
  );

Und hier ist ein Beispiel dafür, wie man die deepGet-Funktion verwendet:

let index = 2;
const data = {
  foo: {
    foz: [1, 2, 3],
    bar: {
      baz: ["a", "b", "c"]
    }
  }
};
deepGet(data, ["foo", "foz", index]); // gibt 3 zurück
deepGet(data, ["foo", "bar", "baz", 8, "foz"]); // gibt null zurück

Um mit der Programmierung zu beginnen, öffnen Sie das Terminal/SSH und geben Sie node ein.

Zusammenfassung

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