En este artículo, aprenderemos cómo obtener una clave en un objeto JavaScript por su valor. Los valores del objeto se pueden encontrar iterando a través de sus propiedades. Cada una de estas propiedades se puede verificar para ver si coinciden con el valor proporcionado.

¿Cómo obtener una clave en un objeto JavaScript por su valor?
hacer ejecutable un script de shell
A continuación se detallan los métodos mediante los cuales obtenemos una clave en un objeto JavaScript por su valor:
Tabla de contenidos
- Usando un bucle for-in
- Usando el método de búsqueda()
- Usando el método filter() y el método Objectkeys()
- Usando el método Object.entries() y reduce()
- Usando el método Lodash _.findKey()
- Usando el método Object.values() y indexOf()
Método 1: usar un bucle for-in
- Los valores del objeto se pueden encontrar iterando a través de sus propiedades.
- Cada una de estas propiedades se puede verificar para ver si coinciden con el valor proporcionado. Las propiedades del objeto se obtienen utilizando un bucle for en el objeto.
- Luego, estas propiedades se verifican con el método hasOwnProperty() del objeto para asegurarse de que sea una propiedad directa del objeto y no heredada.
- Luego se verifica que cada propiedad sea igual al valor que se va a encontrar. Si el valor coincide, se devuelve la propiedad. Ésta es la clave del valor del objeto.
Ejemplo: Este ejemplo es la implementación del enfoque explicado anteriormente.
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);> Producción
key2>
Método 2: usar el método de búsqueda()
- El método Object.keys() se utiliza para devolver todas las claves del objeto.
- En esta matriz de claves, el método find() se utiliza para probar si alguna de estas claves coincide con el valor proporcionado.
- El método find() se utiliza para devolver el valor del primer elemento que satisface la función de prueba.
- Si el valor coincide, entonces se cumple esta condición y se devuelve la clave respectiva. Ésta es la clave del valor del objeto.
Nota: Este método se agregó a la especificación ES6 y es posible que no sea compatible con versiones anteriores del navegador.
Ejemplo: Este ejemplo es la implementación del enfoque explicado anteriormente.
cadenas a números enterosJavaScript
function getKeyByValue(object, value) { return Object.keys(object).find(key =>objeto[clave] === valor); } const objeto de ejemplo = { clave1: 'Geeks', clave2: 100, clave3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Producción
key1>
Usando el método filter() y el método Objectkeys()
- En este método, utilizaremos los métodos object.keys y filter() para obtener una clave en JavaScript por su valor.
- Filtraremos la clave dada y devolveremos su valor si está presente en el objeto.
Ejemplo: Este ejemplo es la implementación del enfoque explicado anteriormente.
JavaScript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[clave] === valor); } const objeto de ejemplo = { clave1: 'Geeks', clave2: 100, clave3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Producción
[ 'key1' ]>
Usando el método Object.entries() y reduce()
- En este método, utilizaremos los métodos object.entries() y reduce() para obtener una clave en JavaScript por su valor.
- Y devolver el valor de la clave dada.
Ejemplo: Este ejemplo es la implementación del enfoque explicado anteriormente.
JavaScript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === valor) { acc.push(clave); } devolver cuenta; }, []); } const objeto de ejemplo = { clave1: 'Geeks', clave2: 100, clave3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Producción
[ 'key1' ]>
Usando Método Lodash _.findKey()
- En este método estamos utilizando el método _.findkey() de lodash.
- Esto devuelve la clave del objeto dado.
Ejemplo: Este ejemplo es la implementación del enfoque explicado anteriormente.
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);> Producción:
comando arp-a
seetu>
Usando el método Object.values() y indexOf()
En este método, aprovecharemos el método Object.values() para extraer todos los valores del objeto y luego usaremos el método indexOf() para encontrar el índice del valor objetivo en la matriz de valores. Una vez que tenemos el índice, podemos usarlo para recuperar la clave correspondiente de la matriz de claves devuelta por Object.keys().
Ejemplo:
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> Producción
city>