Tässä artikkelissa opimme, kuinka saada avain JavaScript-objektiin sen arvon perusteella. Objektin arvot löytyvät iteroimalla sen ominaisuuksia. Jokainen näistä ominaisuuksista voidaan tarkistaa ja tarkistaa, vastaavatko ne annettua arvoa.

Kuinka saada avain JavaScript-objektiin sen arvon perusteella?
Alla on lähestymistapoja, joilla saamme avaimen JavaScript-objektiin sen arvon perusteella:
Sisällysluettelo
python alustusluettelo
- For-in -silmukan käyttäminen
- Etsi menetelmän () käyttäminen
- Filter()-menetelmän ja Object keys()-menetelmän käyttäminen
- Object.entries()- ja vähentää()-menetelmien käyttäminen
- Käyttämällä Lodash _.findKey() -menetelmää
- Object.values()- ja indexOf()-menetelmien käyttäminen
Tapa 1: For-in-silmukan käyttäminen
- Objektin arvot löytyvät iteroimalla sen ominaisuuksia.
- Jokainen näistä ominaisuuksista voidaan tarkistaa ja tarkistaa, vastaavatko ne annettua arvoa. Objektin ominaisuudet saadaan käyttämällä for-silmukkaa objektissa.
- Nämä ominaisuudet tarkistetaan sitten objektin hasOwnProperty()-metodilla sen varmistamiseksi, että se on kohteen suora ominaisuus eikä peritty.
- Jokainen ominaisuus tarkistetaan sitten, ovatko ne yhtä suuret kuin löydettävä arvo. Jos arvo vastaa, ominaisuus palautetaan. Tämä on avain kohteen arvoon.
Esimerkki: Tämä esimerkki on edellä selitetyn lähestymistavan toteutus.
ubuntu mikä komentoJavascript
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);> Lähtö
key2>
Tapa 2: Etsi-menetelmän () käyttäminen
- Object.keys() -menetelmää käytetään palauttamaan kaikki objektin avaimet.
- Tässä avainjoukossa find()-menetelmää käytetään testaamaan, vastaako jokin näistä avaimista annettua arvoa.
- Find()-menetelmää käytetään palauttamaan ensimmäisen testausfunktion täyttävän elementin arvo.
- Jos arvo täsmää, tämä ehto täyttyy ja vastaava avain palautetaan. Tämä on avain kohteen arvoon.
Huomautus: Tämä menetelmä lisättiin ES6-spesifikaatioon, eikä sitä välttämättä tueta vanhemmissa selainversioissa.
Esimerkki: Tämä esimerkki on edellä selitetyn lähestymistavan toteutus.
Javascript function getKeyByValue(object, value) { return Object.keys(object).find(key =>objekti[avain] === arvo); } const esimerkkiObject = { avain1: 'Geeks', avain2: 100, avain3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>>
Lähtö key1>
Filter()-menetelmän ja Object keys()-menetelmän käyttäminen
- Tässä menetelmässä saamme käyttää object.keys- ja filter()-menetelmiä avaimen saamiseksi JavaScriptissä sen arvon perusteella.
- suodatamme annetun avaimen ja palautamme sen arvon, jos se on objektissa.
Esimerkki: Tämä esimerkki on edellä selitetyn lähestymistavan toteutus.
Javascript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[avain] === arvo); } const esimerkkiObject = { avain1: 'Geeks', avain2: 100, avain3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>>
Lähtö Object.entries()- ja vähentää()-menetelmien käyttäminen
- Tässä menetelmässä käytämme object.entries()- ja vähennys()-menetelmiä saadaksemme JavaScriptin avaimen arvon perusteella.
- Ja palauttaa annetun avaimen arvon.
Esimerkki: Tämä esimerkki on edellä selitetyn lähestymistavan toteutus.
Javascript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (arvo === arvo) { acc.push(avain); } return acc; }, []); } const esimerkkiObject = { avain1: 'Geeks', avain2: 100, avain3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>>
Lähtö Käyttämällä Lodash _.findKey() -menetelmä
- Tässä menetelmässä käytämme lodash-menetelmää _.findkey().
- Tämä palauttaa annetun objektin avaimen.
Esimerkki: Tämä esimerkki on edellä selitetyn lähestymistavan toteutus.
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);> Lähtö:
nimi kaupunki Yhdysvalloissa
Tässä menetelmässä hyödynnämme Object.values()-menetelmää poimimaan kaikki arvot objektista ja käytämme sitten indexOf()-menetelmää löytääksemme kohdearvon indeksin arvojoukosta. Kun meillä on indeksi, voimme käyttää sitä vastaavan avaimen hakemiseen Object.keys()-funktion palauttamasta avainjoukosta.
Esimerkki:
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> Lähtö
city>