Ich habe ein JavaScript-Objekt wie folgt aus:Vereinfachen Eltern-Kind-Ausdruck mit regex
{
a : {
b : c,
d : e
}
}
In meinem Code, wenn b
meine war mein Ausgangspunkt, konnte ich Eingabe der Zeichenfolge "this.$parent.d"
die zu e
bewerten würde.
Allerdings könnte ich auch die Zeichenfolge "this.$parent.b.$parent.d"
eingeben, um das gleiche Ergebnis zu erhalten.
Meine Frage ist, wenn ich eine Zeichenfolge wie "this.$parent.b.$parent.d"
gegeben werde, wie kann ich es auf die erste Weise vereinfachen?
Ich denke, was ich tun muss, ist Regex zu ersetzen alle Vorkommen von "$parent.<anything>.$parent"
mit nur "$parent"
und das sollte funktionieren, aber nicht sicher, wie dies genau zu tun.
Ich bin verwirrt über Ihre Eltern/Kind-Beziehung. In der ersten Instanz ist 'this. $ Parent 'das enthaltene Objekt, mit dem Sie' .d' aufrufen können. Aber dann rufen Sie in der zweiten Instanz 'this. $ Parent.b' an, was bedeutet, dass' this. $ Parent' in 'a' aufgelöst wird? – mhodges
Sorry editted jetzt den JSON – user2802557
zu beheben Okay, das macht jetzt mehr Sinn. Sie wollen also 'this. $ Parent. [Not $ parent]. $ Parent. *' Einfach mit 'this. $ Parent. *' Sie wollen '. $ Parent verlassen.$ eltern', denn so kommst du auf die nächste Stufe in der Hierarchie – mhodges