Dynamische Eigenschaftszuweisung in JavaScript
In bestimmten Szenarien kann es erforderlich sein, einer Eigenschaft, die tief in einem Objekt verschachtelt ist, einen Wert zuzuweisen Struktur. Möglicherweise haben Sie den Eigenschaftsnamen jedoch nur als Zeichenfolge. Dies kann eine Herausforderung darstellen, da der direkte Zugriff auf die Eigenschaft das Durchlaufen der gesamten Objekthierarchie erfordern würde.
Lösung
Um dieses Problem zu beheben, können wir die Methode „assign()“ verwenden. Funktion:
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; }
Verwendung
Überlegen wir mal ein Beispiel:
var obj = {}; var propName = "foo.bar.foobar"; assign(obj, propName, "Value");
Erklärung
Durch die Verwendung von Mit der Funktion „assign()“ können Sie Eigenschaften auf jeder Tiefenebene dynamisch Werte zuweisen, auch wenn Sie nur den Eigenschaftsnamen als Zeichenfolge haben.
Das obige ist der detaillierte Inhalt vonWie kann ich tief verschachtelten JavaScript-Objekten dynamisch Werte zuweisen, indem ich nur einen String-Eigenschaftsnamen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!