I denne artikkelen vil vi lære hvordan du får en nøkkel i et JavaScript-objekt etter verdien. Verdiene til objektet kan finnes ved å iterere gjennom dets egenskaper. Hver av disse egenskapene kan kontrolleres for å se om de samsvarer med verdien som er oppgitt.

Hvordan få en nøkkel i et JavaScript-objekt etter verdien?
Nedenfor er tilnærmingene som vi får en nøkkel i et JavaScript-objekt etter verdien:
Innholdsfortegnelse
- Bruke en for-in-løkke
- Bruke finnemetoden()
- Bruke filter() Method og Object keys() Method
- Bruke Object.entries() og reduce()-metoden
- Bruke Lodash _.findKey()-metoden
- Bruke Object.values() og indexOf()-metoden
Metode 1: Bruke en for-in-løkke
- Verdiene til objektet kan finnes ved å iterere gjennom egenskapene.
- Hver av disse egenskapene kan kontrolleres for å se om de samsvarer med verdien som er oppgitt. Egenskapene til objektet oppnås ved å bruke en for-løkke på objektet.
- Disse egenskapene blir deretter sjekket med objektets hasOwnProperty()-metode for å sikre at det er en direkte egenskap til objektet og ikke en arvet.
- Hver egenskap blir deretter sjekket om de er lik verdien som skal finnes. Hvis verdien samsvarer, returneres egenskapen. Dette er nøkkelen til verdien av objektet.
Eksempel: Dette eksemplet er implementeringen av den ovenfor forklarte tilnærmingen.
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);> Produksjon
key2>
Metode 2: Bruke finnemetoden()
- Object.keys()-metoden brukes til å returnere alle nøklene til objektet.
- På denne arrayen av nøkler brukes find()-metoden for å teste om noen av disse nøklene samsvarer med verdien som er oppgitt.
- Find()-metoden brukes til å returnere verdien til det første elementet som tilfredsstiller testfunksjonen.
- Hvis verdien samsvarer, er denne betingelsen oppfylt og den respektive nøkkelen returneres. Dette er nøkkelen til verdien av objektet.
Merk: Denne metoden ble lagt til ES6-spesifikasjonen og støttes kanskje ikke på eldre nettleserversjoner.
Eksempel: Dette eksemplet er implementeringen av den ovenfor forklarte tilnærmingen.
Bourne igjen skallJavascript
function getKeyByValue(object, value) { return Object.keys(object).find(key =>objekt[nøkkel] === verdi); } const eksempelObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Produksjon
key1>
Bruke filter() Method og Object keys() Method
- I denne metoden vil vi bruke object.keys og filter() metoder for å få en nøkkel i JavaScript etter verdien.
- vi vil filtrere den gitte nøkkelen og returnere dens verdi hvis den finnes i objektet.
Eksempel: Dette eksemplet er implementeringen av den ovenfor forklarte tilnærmingen.
Javascript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[nøkkel] === verdi); } const eksempelObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Produksjon
[ 'key1' ]>
Bruke Object.entries() og reduce()-metoden
- I denne metoden vil vi bruke metodene object.entries() og reduce() for å få en nøkkel i JavaScript etter verdien.
- Og returner verdien til den gitte nøkkelen.
Eksempel: Dette eksemplet er implementeringen av den ovenfor forklarte tilnærmingen.
Javascript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === verdi) { acc.push(key); } returnere acc; }, []); } const eksempelObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Produksjon
[ 'key1' ]>
Ved hjelp av Lodash _.findKey()-metoden
- I denne metoden bruker vi _.findkey()-metoden til lodash.
- Dette returnerer nøkkelen til det gitte objektet.
Eksempel: Dette eksemplet er implementeringen av den ovenfor forklarte tilnærmingen.
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);> Produksjon:
tilfeldig tall gen java
seetu>
Bruke Object.values() og indexOf()-metoden
I denne metoden vil vi bruke Object.values()-metoden for å trekke ut alle verdiene fra objektet, og deretter bruke indexOf()-metoden for å finne indeksen til målverdien i matrisen med verdier. Når vi har indeksen, kan vi bruke den til å hente den korresponderende nøkkelen fra arrayen av nøkler som returneres av Object.keys().
Eksempel:
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> Produksjon
city>