logo

Hvordan få en nøkkel i et JavaScript-objekt etter verdien?

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.

Få-en-nøkkel-i-et-JavaScript-objekt-etter-verdien

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

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 skall
Javascript
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>