In diesem Artikel erfahren Sie, wie Sie einen Schlüssel in einem JavaScript-Objekt anhand seines Werts abrufen. Die Werte des Objekts können durch Durchlaufen seiner Eigenschaften ermittelt werden. Jede dieser Eigenschaften kann daraufhin überprüft werden, ob sie mit dem angegebenen Wert übereinstimmt.

Wie erhalte ich einen Schlüssel in einem JavaScript-Objekt anhand seines Werts?
Im Folgenden sind die Ansätze aufgeführt, mit denen wir einen Schlüssel in einem JavaScript-Objekt anhand seines Werts erhalten:
Inhaltsverzeichnis
- Verwenden einer For-In-Schleife
- Verwenden der find-Methode()
- Verwenden der Methode filter() und der Methode Objectkeys()
- Verwenden der Methoden Object.entries() und Reduce()
- Verwenden der Lodash _.findKey()-Methode
- Verwenden der Methoden Object.values() und indexOf()
Methode 1: Verwenden einer For-In-Schleife
- Die Werte des Objekts können durch Durchlaufen seiner Eigenschaften ermittelt werden.
- Jede dieser Eigenschaften kann daraufhin überprüft werden, ob sie mit dem angegebenen Wert übereinstimmt. Die Eigenschaften des Objekts werden mithilfe einer for-Schleife für das Objekt ermittelt.
- Diese Eigenschaften werden dann mit der hasOwnProperty()-Methode des Objekts überprüft, um sicherzustellen, dass es sich um eine direkte und nicht um eine geerbte Eigenschaft des Objekts handelt.
- Anschließend wird für jede Eigenschaft geprüft, ob sie dem zu findenden Wert entspricht. Wenn der Wert übereinstimmt, wird die Eigenschaft zurückgegeben. Dies ist der Schlüssel zum Wert des Objekts.
Beispiel: Dieses Beispiel ist die Umsetzung des oben erläuterten Ansatzes.
Javascript
function getKeyByValue(object, value) { for (let prop in object) { if (object.hasOwnProperty(prop)) { if (object[prop] === value) return prop; } } } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 100); console.log(ans);> Ausgabe
key2>
Methode 2: Verwenden der find-Methode()
- Die Methode Object.keys() wird verwendet, um alle Schlüssel des Objekts zurückzugeben.
- Für dieses Schlüsselarray wird die Methode find() verwendet, um zu testen, ob einer dieser Schlüssel mit dem angegebenen Wert übereinstimmt.
- Die Methode find() wird verwendet, um den Wert des ersten Elements zurückzugeben, das die Testfunktion erfüllt.
- Wenn der Wert übereinstimmt, ist diese Bedingung erfüllt und der entsprechende Schlüssel wird zurückgegeben. Dies ist der Schlüssel zum Wert des Objekts.
Notiz: Diese Methode wurde zur ES6-Spezifikation hinzugefügt und wird in älteren Browserversionen möglicherweise nicht unterstützt.
Beispiel: Dieses Beispiel ist die Umsetzung des oben erläuterten Ansatzes.
Javascript function getKeyByValue(object, value) { return Object.keys(object).find(key =>Objekt[Schlüssel] === Wert); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Ausgabe
key1>
Verwenden der Methode filter() und der Methode Objectkeys()
- In dieser Methode verwenden wir die Methoden object.keys und filter(), um einen Schlüssel in JavaScript anhand seines Werts abzurufen.
- Wir filtern den angegebenen Schlüssel und geben seinen Wert zurück, wenn er im Objekt vorhanden ist.
Beispiel: Dieses Beispiel ist die Umsetzung des oben erläuterten Ansatzes.
Javascript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[Schlüssel] === Wert); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Ausgabe
[ 'key1' ]>
Verwenden der Methoden Object.entries() und Reduce()
- In dieser Methode verwenden wir die Methoden object.entries() und Reduce(), um einen Schlüssel in JavaScript anhand seines Werts abzurufen.
- Und den Wert des angegebenen Schlüssels zurückgeben.
Beispiel: Dieses Beispiel ist die Umsetzung des oben erläuterten Ansatzes.
Javascript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === value) { acc.push(key); } return acc; }, []); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Ausgabe
[ 'key1' ]>
Benutzen Lodash _.findKey() Methode
- In dieser Methode verwenden wir die _.findkey()-Methode von lodash.
- Dies gibt den Schlüssel des angegebenen Objekts zurück.
Beispiel: Dieses Beispiel ist die Umsetzung des oben erläuterten Ansatzes.
Javascript // Requiring the lodash library const _ = require('lodash'); // Original array let users = { 'meetu': { 'salary': 36000, 'active': true }, 'teetu': { 'salary': 40000, 'active': false }, 'seetu': { 'salary': 10000, 'active': true } }; // Using the _.findKey() method // The `_.matches` iteratee shorthand let found_elem = _.findKey(users, { 'salary': 10000, 'active': true }); // Printing the output console.log(found_elem);> Ausgabe:
seetu>
Verwenden der Methoden Object.values() und indexOf()
Bei dieser Methode nutzen wir die Methode Object.values(), um alle Werte aus dem Objekt zu extrahieren, und verwenden dann die Methode indexOf(), um den Index des Zielwerts im Wertearray zu finden. Sobald wir den Index haben, können wir ihn verwenden, um den entsprechenden Schlüssel aus dem von Object.keys() zurückgegebenen Schlüsselarray abzurufen.
Beispiel:
JavaScript function getKeyByValue(object, value) { // Get array of object values const values = Object.values(object); // Find the index of the target value const index = values.indexOf(value); // If the value is found if (index !== -1) { // Get array of object keys const keys = Object.keys(object); // Return the key at the same index return keys[index]; } // If value is not found, return null or handle accordingly return null; } // Example object let obj = { name: 'Alice', age: 25, city: 'London' }; // Get the key for the value 'London' console.log(getKeyByValue(obj, 'London')); // Output: city> Ausgabe
city>