logo

Kā iegūt atslēgu JavaScript objektā pēc tās vērtības?

Šajā rakstā mēs uzzināsim, kā iegūt atslēgu JavaScript objektā pēc tās vērtības. Objekta vērtības var atrast, atkārtojot tā īpašības. Katru no šiem rekvizītiem var pārbaudīt, lai redzētu, vai tie atbilst norādītajai vērtībai.

Get-a-key-in-a-JavaScript-object-by-it-value

Kā iegūt atslēgu JavaScript objektā pēc tās vērtības?



pārdēvējiet direktoriju operētājsistēmā Linux


Tālāk ir norādītas pieejas, ar kurām mēs iegūstam atslēgu JavaScript objektā pēc tās vērtības:

Satura rādītājs

1. metode. For-in cilpas izmantošana

  • Objekta vērtības var atrast, atkārtojot tā īpašības.
  • Katru no šiem rekvizītiem var pārbaudīt, lai redzētu, vai tie atbilst norādītajai vērtībai. Objekta īpašības tiek iegūtas, uz objekta izmantojot for cilpu.
  • Pēc tam šīs īpašības tiek pārbaudītas, izmantojot objekta hasOwnProperty() metodi, lai pārliecinātos, ka tas ir tiešs objekta rekvizīts, nevis mantots.
  • Pēc tam katrs īpašums tiek pārbaudīts, vai tie ir vienādi ar atrodamo vērtību. Ja vērtība sakrīt, īpašums tiek atgriezts. Šī ir objekta vērtības atslēga.

Piemērs: Šis piemērs ir iepriekš izskaidrotās pieejas īstenošana.



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

Izvade
key2>

2. metode: atrašanas metodes () izmantošana

  • Metode Object.keys() tiek izmantota, lai atgrieztu visas objekta atslēgas.
  • Šajā atslēgu masīvā metode find() tiek izmantota, lai pārbaudītu, vai kāda no šīm atslēgām atbilst norādītajai vērtībai.
  • Metode find() tiek izmantota, lai atgrieztu pirmā elementa vērtību, kas atbilst testēšanas funkcijai.
  • Ja vērtība sakrīt, šis nosacījums ir izpildīts un tiek atgriezta attiecīgā atslēga. Šī ir objekta vērtības atslēga.

Piezīme: Šī metode tika pievienota ES6 specifikācijai, un, iespējams, tā netiek atbalstīta vecākajās pārlūkprogrammas versijās.

Piemērs: Šis piemērs ir iepriekš izskaidrotās pieejas īstenošana.

chmod 755
Javascript
function getKeyByValue(object, value) {  return Object.keys(object).find(key =>objekts[atslēga] === vērtība); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); konsole.log(ans);>>  
Izvade
key1>

Izmantojot filtru() metodi un objektu atslēgas() metodi

  • Šajā metodē mēs izmantosim objektu.keys un filter() metodes, lai iegūtu atslēgu JavaScript pēc tās vērtības.
  • mēs filtrēsim doto atslēgu un atgriezīsim tās vērtību, ja tā atrodas objektā.

Piemērs: Šis piemērs ir iepriekš izskaidrotās pieejas īstenošana.



Javascript
function getKeyByValue(obj, value) {  return Object.keys(obj)  .filter(key =>obj[atslēga] === vērtība); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); konsole.log(ans);>>  
Izvade

Izmantojot Object.entries() un samazināt() metodi

  • Šajā metodē mēs iegūsim izmantot object.entries() un redukcijas() metodes, lai iegūtu JavaScript atslēgu pēc tās vērtības.
  • Un atgrieziet dotās atslēgas vērtību.

Piemērs: Šis piemērs ir iepriekš izskaidrotās pieejas īstenošana.

Javascript
function getKeyByValue(obj, value) {  return Object.entries(obj)  .reduce((acc, [key, val]) =>{ if (val === vērtība) { acc.push(key);  } return acc;  }, []); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); konsole.log(ans);>>  
Izvade

Izmantojot Lodash _.findKey() metode

  • Šajā metodē mēs izmantojam lodash _.findkey() metodi.
  • Tas atgriež dotā objekta atslēgu.

Piemērs: Šis piemērs ir iepriekš izskaidrotās pieejas īstenošana.

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

Izvade:

java int virknē
Izmantojot Object.values() un indexOf() metodi

Šajā metodē mēs izmantosim metodi Object.values(), lai no objekta iegūtu visas vērtības, un pēc tam izmantosim metodi indexOf(), lai vērtību masīvā atrastu mērķa vērtības indeksu. Kad mums ir indekss, mēs varam to izmantot, lai izgūtu atbilstošo atslēgu no Object.keys() atgriezto atslēgu masīva.

Piemērs:

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>

Izvade
city>