Š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.

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
- Izmantojot for-in cilpu
- Izmantojot atrašanas metodi ()
- Izmantojot filtru() metodi un objektu atslēgas() metodi
- Izmantojot Object.entries() un samazināt() metodi
- Izmantojot Lodash _.findKey() metodi
- Izmantojot Object.values() un indexOf() metodi
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 755Javascript
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ē
Š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>