V tem članku se bomo naučili, kako pridobiti ključ v objektu JavaScript po njegovi vrednosti. Vrednosti predmeta je mogoče najti s ponavljanjem skozi njegove lastnosti. Vsako od teh lastnosti je mogoče preveriti, ali se ujema s podano vrednostjo.

Kako pridobiti ključ v objektu JavaScript po njegovi vrednosti?
Spodaj so pristopi, s katerimi pridobimo ključ v objektu JavaScript glede na njegovo vrednost:
Kazalo
java par
- Uporaba zanke for-in
- Uporaba metode find()
- Uporaba metode filter() in metode Object keys().
- Uporaba metode Object.entries() in reduce().
- Uporaba metode Lodash _.findKey().
- Uporaba metode Object.values() in indexOf().
1. način: uporaba zanke for-in
- Vrednosti predmeta je mogoče najti s ponavljanjem skozi njegove lastnosti.
- Vsako od teh lastnosti je mogoče preveriti, ali se ujema s podano vrednostjo. Lastnosti predmeta se pridobijo z uporabo zanke for na objektu.
- Te lastnosti se nato preverijo z metodo objekta hasOwnProperty(), da se zagotovi, da gre za neposredno lastnost predmeta in ne za podedovano.
- Vsaka lastnost se nato preveri, ali je enaka vrednosti, ki jo je treba najti. Če se vrednost ujema, je lastnost vrnjena. To je ključ do vrednosti predmeta.
primer: Ta primer je implementacija zgoraj razloženega pristopa.
matematika naključna javaJavascript
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);> Izhod
key2>
2. način: uporaba metode find()
- Metoda Object.keys() se uporablja za vrnitev vseh ključev predmeta.
- V tem nizu ključev se metoda find() uporablja za preizkus, ali se kateri od teh ključev ujema s podano vrednostjo.
- Metoda find() se uporablja za vrnitev vrednosti prvega elementa, ki ustreza funkciji testiranja.
- Če se vrednost ujema, je ta pogoj izpolnjen in ustrezen ključ je vrnjen. To je ključ do vrednosti predmeta.
Opomba: Ta metoda je bila dodana specifikaciji ES6 in morda ni podprta v starejših različicah brskalnika.
primer: Ta primer je implementacija zgoraj razloženega pristopa.
Javascript function getKeyByValue(object, value) { return Object.keys(object).find(key =>predmet [ključ] === vrednost); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Izhod
key1>
Uporaba metode filter() in metode Object keys().
- V tej metodi bomo uporabili metodi object.keys in filter(), da bi dobili ključ v JavaScriptu glede na njegovo vrednost.
- dani ključ bomo filtrirali in vrnili njegovo vrednost, če je prisoten v objektu.
primer: Ta primer je implementacija zgoraj razloženega pristopa.
Javascript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[ključ] === vrednost); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Izhod
[ 'key1' ]>
Uporaba metode Object.entries() in reduce().
- V tej metodi bomo uporabili metodi object.entries() in reduce(), da bi dobili ključ v JavaScriptu po njegovi vrednosti.
- In vrne vrednost danega ključa.
primer: Ta primer je implementacija zgoraj razloženega pristopa.
Javascript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === vrednost) { acc.push(ključ); } vrni acc; }, []); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Izhod
[ 'key1' ]>
Uporaba Metoda Lodash _.findKey().
- Pri tej metodi uporabljamo metodo _.findkey() programa lodash.
- To vrne ključ danega predmeta.
primer: Ta primer je implementacija zgoraj razloženega pristopa.
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);> Izhod:
java int v nizu
seetu>
Uporaba metode Object.values() in indexOf().
Pri tej metodi bomo uporabili metodo Object.values(), da izvlečemo vse vrednosti iz predmeta, nato pa bomo uporabili metodo indexOf(), da poiščemo indeks ciljne vrednosti v nizu vrednosti. Ko imamo indeks, ga lahko uporabimo za pridobitev ustreznega ključa iz niza ključev, ki jih vrne Object.keys().
primer:
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> Izhod
city>