Wie funktioniert in JavaScript ein Reverse Lookup bei Objekten?

Melden
  1. Einführung in den Begriff Reverse Lookup bei JavaScript-Objekten
  2. Warum ist ein Reverse Lookup in einem Objekt nützlich?
  3. Wie kann man in JavaScript ein Reverse Lookup in einem Objekt realisieren?
  4. Beispiel für einen Reverse Lookup mit JavaScript
  5. Alternative Vorgehensweise mit Object.entries() und Array-Methoden
  6. Beachten von möglichen Mehrfachbelegungen von Werten
  7. Zusammenfassung

Einführung in den Begriff Reverse Lookup bei JavaScript-Objekten

In JavaScript besteht ein Objekt aus Schlüssel-Wert-Paaren, wobei der Schlüssel üblicherweise genutzt wird, um auf den zugehörigen Wert zuzugreifen. Ein Reverse Lookup bei einem Objekt bedeutet, dass man von einem Wert ausgeht und den zugehörigen Schlüssel ermitteln möchte. Da JavaScript-Objekte standardmäßig kein eingebautes Verfahren bieten, um von einem Wert direkt den Schlüssel zu finden, muss diese Suche manuell beziehungsweise programmatisch umgesetzt werden.

Warum ist ein Reverse Lookup in einem Objekt nützlich?

Ein Reverse Lookup ist besonders dann hilfreich, wenn nur der Wert bekannt ist, aber die Identifikation des passenden Schlüssels erforderlich ist. Dies ist zum Beispiel sinnvoll bei Umkehrungen von Mapping-Tabellen, Validierungen oder wenn man in einem Datenobjekt überprüfen möchte, welche Schlüssel mit einem bestimmten Wert verknüpft sind. Da Werte in Objekten nicht unbedingt eindeutig sein müssen, kann ein Reverse Lookup außerdem mehrere Schlüssel zurückliefern, die auf denselben Wert zeigen.

Wie kann man in JavaScript ein Reverse Lookup in einem Objekt realisieren?

Um einen Reverse Lookup durchzuführen, kann man über alle Schlüssel eines Objekts iterieren und für jeden Schlüssel prüfen, ob der zugehörige Wert dem gesuchten Wert entspricht. Die einfachste Methode dafür ist die Verwendung einer for...in-Schleife oder die Nutzung von Object.keys() oder Object.entries() in Kombination mit Array-Methoden wie find oder filter. Sobald ein passender Wert gefunden wird, gibt man den Schlüssel zurück. Dabei ist zu beachten, ob nur der erste passende Schlüssel oder alle passenden Schlüssel ermittelt werden sollen.

Beispiel für einen Reverse Lookup mit JavaScript

Angenommen, wir haben folgendes Objekt, das Ländernamen als Schlüssel und ihre ISO-Ländercodes als Werte enthält:

Um den Schlüssel für den Wert Italien zu finden, können wir folgendermaßen vorgehen:

Alternative Vorgehensweise mit Object.entries() und Array-Methoden

Eine moderne und oft elegantere Möglichkeit bietet die Nutzung von Object.entries(), das ein Array aller Schlüssel-Wert-Paare liefert. Mittels Array-Methoden wie find lässt sich dann der gesuchte Eintrag leicht ermitteln. Zum Beispiel:

Diese Variante ist nicht nur kürzer, sondern entspricht auch dem funktionalen Programmierstil, der in JavaScript häufig bevorzugt wird.

Beachten von möglichen Mehrfachbelegungen von Werten

In vielen Fällen können Werte mehrfach im Objekt vorkommen. Möchte man alle Schlüssel finden, die einem bestimmten Wert zugeordnet sind, ist eine Anpassung der vorherigen Methoden notwendig. Statt nur den ersten passenden Schlüssel zurückzugeben, kann man alle passenden Schlüssel sammeln und zurückgeben. Beispielsweise über das Filtern des Array-Objekts:

So wird sichergestellt, dass alle Übereinstimmungen berücksichtigt werden, falls dies notwendig ist.

Zusammenfassung

Ein Reverse Lookup bei JavaScript-Objekten ist eine Methode, mit der man von einem bestimmten Wert den oder die dazugehörigen Schlüssel finden kann. Da Objekte in JavaScript hauptsächlich auf Schlüsselzugriff ausgelegt sind, ist diese umgekehrte Suche nur über Iteration oder über die Umwandlung in Array-Strukturen möglich. Mit der Nutzung von for...in, Object.entries() und Array-Methoden lässt sich ein solches Reverse Lookup jedoch einfach und performant umsetzen. Dabei sollte man beachten, ob Mehrfachbelegungen von Werten erwartet werden und entsprechend alle passenden Schlüssel ermitteln.

0

Kommentare