Heim >Web-Frontend >js-Tutorial >Wie konvertiere ich eine Punktnotationszeichenfolge in eine Objektreferenz in JavaScript?

Wie konvertiere ich eine Punktnotationszeichenfolge in eine Objektreferenz in JavaScript?

Barbara Streisand
Barbara StreisandOriginal
2024-12-17 13:25:13623Durchsuche

How to Convert a Dot Notation String to an Object Reference in JavaScript?

So konvertieren Sie einen JavaScript-String in Punktnotation in eine Objektreferenz

Mit einem einfachen und eleganten Einzeiler ist die Konvertierung möglich eine JavaScript-Zeichenfolge in Punktnotation zu einer Objektreferenz. So geht's:

'a.b.etc'.split('.').reduce(index, obj)

wobei Index eine Funktion ist, die zur Indizierung verwendet wird.

Aufteilen des Strings in ein Array

Bevor Sie die Konvertierung durchführen, Die Punktnotationszeichenfolge wird mithilfe der Methode split('.') in ein Array aufgeteilt. Beispielsweise würde die Zeichenfolge „a.b.etc“ in ['a', 'b', 'etc'] aufgeteilt.

Verwendung der Reduce-Methode zur Indizierung

Die Methode „reduce“ wird verwendet, um über das Array zu iterieren und das Objekt zu indizieren. Der Akkumulator o stellt das aktuelle Objekt dar, das indiziert wird, und i ist das aktuelle Element im Array. Die Indexfunktion wird auf jedes Element angewendet und gibt dort o[i] zurück, den im aktuellen Objekt indizierten Wert.

Alles zusammenfügen

Kombinieren der Zeichenfolge Bei Aufteilungs- und Indizierungsvorgängen erhalten wir Folgendes:

'a.b.etc'.split('.').reduce(function(o, i) { return o[i] }, obj)

Dadurch wird der verschachtelte Wert obj.a.b.etc vom Original zurückgegeben Objektreferenz.

Hinweis: Es gibt alternative Methoden, aber dieser Einzeiler bietet Eleganz und Einfachheit.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Punktnotationszeichenfolge in eine Objektreferenz in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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