Objekteigenschaften dynamisch mithilfe von Zeichenfolgennamen in JavaScript festlegen
Bei einem Objekt mit einer komplexen verschachtelten Struktur kann es wünschenswert sein, eine bestimmte festzulegen Eigenschaft tief in der Objekthierarchie. Wenn der Eigenschaftsname jedoch nur als Zeichenfolge verfügbar ist, werden herkömmliche Zuweisungstechniken ineffizient.
Um dieser Herausforderung zu begegnen, demonstriert die Funktion „assign()“ einen rekursiven Ansatz zum Durchlaufen und Festlegen von Objekteigenschaften:
function assign(obj, prop, value) { if (typeof prop === "string") prop = prop.split("."); if (prop.length > 1) { var e = prop.shift(); assign(obj[e] = Object.prototype.toString.call(obj[e]) === "[object Object]" ? obj[e] : {}, prop, value); } else obj[prop[0]] = value; } var obj = {}, propName = "foo.bar.foobar"; assign(obj, propName, "Value");
Mit dieser Funktion können Sie die Eigenschaft obj.foo.bar.foobar dynamisch auf einen gewünschten Wert setzen, auch wenn der Eigenschaftsname nur als verfügbar ist Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie legt man verschachtelte JavaScript-Objekteigenschaften mithilfe von Zeichenfolgennamen dynamisch fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!