Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich über einen String-Pfad auf tief verschachtelte Objektwerte zugreifen?

Patricia Arquette
Freigeben: 2024-10-24 19:24:02
Original
476 Leute haben es durchsucht

How can I Access Deeply Nested Object Values Using a String Path?

Erfassen tief verschachtelter Objektwerte über einen String-Pfad

Der Zugriff auf tief verschachtelte Objekteigenschaften kann umständlich sein, insbesondere wenn String-Pfade zum Durchlaufen des Objekts verwendet werden. Diese Frage sucht nach einer Lösung zum Abrufen von Werten aus Objekten basierend auf einem bereitgestellten Zeichenfolgenpfad.

Vorgeschlagene Lösung

Der vorgeschlagene Ansatz verwendet die folgende Funktion, deep_value, die iterativ durch die in angegebenen Objekteigenschaften navigiert Pfadzeichenfolge:

<code class="javascript">var deep_value = function(obj, path) {
  for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
    obj = obj[path[i]];
  }
  return obj;
};</code>
Nach dem Login kopieren

Aufschlüsselung

  • Die Operation split('.') wandelt den Zeichenfolgenpfad in ein Array von Eigenschaftsnamen um.
  • Eine Schleife ist Wird verwendet, um das Objekt zu durchlaufen und nacheinander auf jede Eigenschaft zuzugreifen.
  • Die letzte Iteration gibt den endgültigen verschachtelten Wert zurück.

Beispiel

Betrachten Sie das folgende Objekt:

var obj = {
  foo: { bar: 'baz' }
};
Nach dem Login kopieren

Um über den String-Pfad „foo.bar“ auf den Wert von obj.foo.bar zuzugreifen, kann die Funktion „deep_value“ wie folgt aufgerufen werden:

deep_value(obj, "foo.bar"); // returns "baz"
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich über einen String-Pfad auf tief verschachtelte Objektwerte zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage