Wenn ich ein Basisobjekt, das immer das gleiche ist: project
, aber manchmal muss ich zugreifen seine Felder dynamisch, wie kann ich die Felder zugreifen, wenn es kann ein oder mehr verschachtelten Objekte zum Beispiel sein:Js oder ES6 Get Objekt Feld nach Pfad Zeichenfolge, wenn Feld 2 oder mehr geschachtelte Ebenen wie in myObj.one.two.three.field hat
function (myPath){
return project[myPath];
}
Dies funktioniert, wenn project["oneField"]
in myPath("oneField")
verwenden, aber es funktioniert nicht, wenn es verschachtelt ist oder mehr Ebenen:
myPath("one.two.fieldName")
funktioniert nicht: project["one.two.fieldName"]
Weder wie folgt aus: project."one.two.fieldName"
Wenn Sie fragen, für ' project ["one.two.fieldName"] 'du überprüfst, ob' project' einen Schlüssel hat, der wörtlich '' one.zwei.fieldName ''einschließlich der Punkte genannt wird. Sie können einfach auf einen Punkt splitten und ein Array erhalten, das einen Schlüssel enthält und dann das Objekt auf diese Weise durchqueren "obj = obj [keys [i]]". Oder andere ähnliche Techniken, die auf "Split" - die Ergebnisse für die Navigation "herunterkochen. – vlaz
Projekt ["Eins"] ["Zwei"] ["Feldname"] –