Heim > Web-Frontend > js-Tutorial > Wie legt man Eigenschaften in verschachtelten JavaScript-Objekten dynamisch fest?

Wie legt man Eigenschaften in verschachtelten JavaScript-Objekten dynamisch fest?

Linda Hamilton
Freigeben: 2024-10-31 08:16:29
Original
349 Leute haben es durchsucht

How to Dynamically Set Properties in Nested JavaScript Objects?

Dynamische Eigenschaftszuweisung in verschachtelten Objekten

Das Festlegen von Eigenschaften verschachtelter Objekte kann eine programmgesteuert komplexe Aufgabe sein, insbesondere wenn der Eigenschaftspfad und -wert in Tiefe und Typ variieren kann. Um diesen Prozess zu vereinfachen, können wir eine Funktion erstellen, die dynamisch Eigenschaften innerhalb eines Objekts durchläuft und festlegt.

Funktionsimplementierung

<code class="javascript">function set(path, value) {
    var schema = obj; // Moving reference to internal objects within obj
    var pList = path.split('.');
    var len = pList.length;

    for (var i = 0; i < len - 1; i++) {
        var elem = pList[i];
        if (!schema[elem]) schema[elem] = {};
        schema = schema[elem];
    }

    schema[pList[len - 1]] = value;
}</code>
Nach dem Login kopieren

Beispielverwendung

Betrachten Sie das folgende verschachtelte Objekt :

<code class="javascript">var obj = {
    db: {
        mongodb: {
            host: 'localhost'
        }
    }
};</code>
Nach dem Login kopieren

Um eine Eigenschaft auf einen bestimmten Pfad festzulegen, können wir die Funktion set() verwenden:

<code class="javascript">set('db.mongodb.user', 'root');</code>
Nach dem Login kopieren

Ergebnis

Anwenden der Funktion set() zum Beispielobjekt würde Folgendes ergeben:

<code class="javascript">obj = {
    db: {
        mongodb: {
            host: 'localhost',
            user: 'root'
        }
    }
};</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie legt man Eigenschaften in verschachtelten JavaScript-Objekten dynamisch fest?. 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