Dynamisch auf Objekteigenschaften zugreifen (JS) [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Auf untergeordnete Objekteigenschaften mit einer Punktnotationszeichenfolge zugreifen [duplizieren] 13 Antworten

Ich versuche, dynamisch mit einer Zeichenfolge auf eine Eigenschaft eines Objekts zuzugreifen. Zum Beispiel: ".id.public" -> anyObject ["id"] ["public"]

Das Problem - ich weiß nicht, wie viele Argumente ich habe (zum Beispiel ".id" oder ".id.public" oder ".id.public.whatever").

Ich habe einen kleinen Workaround gemacht:

var currentSplit = anyObject;
var splitted = "id.public".split("\.");
splitted.forEach(function(s) { currentSplit = currentSplit[s]; });

Wenn ich jetzt versuche, die Objekteigenschaft zu überschreiben, überschreibe ich die Referenz und nicht die Objekteigenschaft.

currentSplit = "test";

Ich habe schon solche Sachen ausprobiertanyObject["id.public"] = "test"; aber es hat nicht funktioniert.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage