Ich muss momentan Werte in einer JavaScript-Zeichenkette vorübergehend auslagern, und deshalb muss ich eine Zwei-Wege-Map / Hash-Sache haben.
Nehmen wir zum Beispiel an, ich möchte \*
in __asterisk__
ändern (dies ist nur ein Beispiel, es ist nicht das, was ich eigentlich versuche). Ich muss *
auf __asterisk__
abbilden können (um den Wert in der ursprünglichen Zeichenkette zu ersetzen), aber dann muss ich auch __asterisk__
zurück auf *
(to Holen Sie die ursprüngliche Zeichenfolge zurück).
Hier ist ein kurzer Pseudo-Code der Art von Dingen, nach denen ich suche, damit Sie es besser verstehen können:
%Vor%Das habe ich bisher überlegt und versucht:
%Vor%Das offensichtliche Problem dabei ist, dass der Weg, um nach Wert zu kommen, viel zu kompliziert ist, und ich möchte nicht das ganze Ding jedes Mal aufschreiben müssen, wenn ich die Suche rückwärts machen muss.
Ich wollte nur wissen: Gibt es eine Möglichkeit, dieses Problem zu lösen, ohne auf ein Objekt zurückzugreifen? Wenn nicht, gibt es einen Weg, es einfacher oder sauberer zu machen?
Mit einem zusätzlichen internen Objekt für das Reverse-Mapping. Am besten, wenn wir eine Utility-Klasse hinzufügen;) so:
%Vor%Dann instanziierst du das so:
%Vor%Dann, um es zu benutzen:
%Vor%Hoffe, das hilft. Prost
Ich brauchte etwas Ähnliches und habe Ссылка
erstellt Es implementiert eine 2-Wege-Karte mit 2 es6 Map, obwohl es nicht viel Funktionalität hat, es ist getestet und da es geschrieben wird typescript
kommt mit offiziellen Typings.
Tags und Links javascript map data-structures