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.
<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>
Betrachten Sie das folgende verschachtelte Objekt :
<code class="javascript">var obj = { db: { mongodb: { host: 'localhost' } } };</code>
Um eine Eigenschaft auf einen bestimmten Pfad festzulegen, können wir die Funktion set() verwenden:
<code class="javascript">set('db.mongodb.user', 'root');</code>
Anwenden der Funktion set() zum Beispielobjekt würde Folgendes ergeben:
<code class="javascript">obj = { db: { mongodb: { host: 'localhost', user: 'root' } } };</code>
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!