logo

Comment récupérer une clé dans un objet JavaScript par sa valeur ?

Dans cet article, nous allons apprendre comment obtenir une clé dans un objet JavaScript par sa valeur. Les valeurs de l'objet peuvent être trouvées en parcourant ses propriétés. Chacune de ces propriétés peut être vérifiée pour voir si elle correspond à la valeur fournie.

Obtenir une clé dans un objet JavaScript par sa valeur

Comment obtenir une clé dans un objet JavaScript par sa valeur ?




Vous trouverez ci-dessous les approches par lesquelles nous obtenons une clé dans un objet JavaScript par sa valeur :

Table des matières

Méthode 1 : utiliser une boucle for-in

  • Les valeurs de l'objet peuvent être trouvées en parcourant ses propriétés.
  • Chacune de ces propriétés peut être vérifiée pour voir si elle correspond à la valeur fournie. Les propriétés de l'objet sont obtenues en utilisant une boucle for sur l'objet.
  • Ces propriétés sont ensuite vérifiées avec la méthode hasOwnProperty() de l’objet pour s’assurer qu’il s’agit d’une propriété directe de l’objet et non héritée.
  • Chaque propriété est ensuite vérifiée si elle est égale à la valeur à trouver. Si la valeur correspond, la propriété est renvoyée. C'est la clé de la valeur de l'objet.

Exemple: Cet exemple est la mise en œuvre de l’approche expliquée ci-dessus.



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);>

Sortir
key2>

Méthode 2 : utilisation de la méthode find()

  • La méthode Object.keys() permet de renvoyer toutes les clés de l'objet.
  • Sur ce tableau de clés, la méthode find() est utilisée pour tester si l'une de ces clés correspond à la valeur fournie.
  • La méthode find() est utilisée pour renvoyer la valeur du premier élément qui satisfait la fonction de test.
  • Si la valeur correspond, alors cette condition est satisfaite et la clé correspondante est renvoyée. C'est la clé de la valeur de l'objet.

Note: Cette méthode a été ajoutée à la spécification ES6 et peut ne pas être prise en charge sur les anciennes versions du navigateur.

Exemple: Cet exemple est la mise en œuvre de l’approche expliquée ci-dessus.

Javascript
function getKeyByValue(object, value) {  return Object.keys(object).find(key =>objet[clé] === valeur); } const exampleObject = { key1 : 'Geeks', key2 : 100, key3 : 'Javascript' }; ans = getKeyByValue (exempleObject, 'Geeks'); console.log(ans);>

Sortir
key1>

Utilisation de la méthode filter() et de la méthode Object Keys()

  • Dans cette méthode, nous utiliserons les méthodes object.keys et filter() pour obtenir une clé en JavaScript par sa valeur.
  • nous filtrerons la clé donnée et renverrons sa valeur si elle est présente dans l'objet.

Exemple: Cet exemple est la mise en œuvre de l’approche expliquée ci-dessus.



Javascript
function getKeyByValue(obj, value) {  return Object.keys(obj)  .filter(key =>obj[clé] === valeur); } const exampleObject = { key1 : 'Geeks', key2 : 100, key3 : 'Javascript' }; ans = getKeyByValue (exempleObject, 'Geeks'); console.log(ans);>

Sortir
[ 'key1' ]>

Utilisation des méthodes Object.entries() et reduction()

  • Dans cette méthode, nous utiliserons les méthodes object.entries() et réduire() pour obtenir une clé en JavaScript par sa valeur.
  • Et renvoie la valeur de la clé donnée.

Exemple: Cet exemple est la mise en œuvre de l’approche expliquée ci-dessus.

Javascript
function getKeyByValue(obj, value) {  return Object.entries(obj)  .reduce((acc, [key, val]) =>{ if (val === valeur) { acc.push(key);  } retour acc;  }, []); } const exampleObject = { key1 : 'Geeks', key2 : 100, key3 : 'Javascript' }; ans = getKeyByValue (exempleObject, 'Geeks'); console.log(ans);>

Sortir
[ 'key1' ]>

En utilisant Méthode Lodash _.findKey()

  • Dans cette méthode, nous utilisons la méthode _.findkey() de lodash.
  • Cela renvoie la clé de l'objet donné.

Exemple: Cet exemple est la mise en œuvre de l’approche expliquée ci-dessus.

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);>

Sortir:

  seetu>

Utilisation des méthodes Object.values() et indexOf()

Dans cette méthode, nous utiliserons la méthode Object.values() pour extraire toutes les valeurs de l'objet, puis utiliserons la méthode indexOf() pour trouver l'index de la valeur cible dans le tableau de valeurs. Une fois que nous avons l'index, nous pouvons l'utiliser pour récupérer la clé correspondante dans le tableau de clés renvoyé par Object.keys().

Exemple:

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>

Sortir
city>