logo

Kuinka saada avain JavaScript-objektiin sen arvon perusteella?

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.

Hanki-avain-JavaScript-objektissa-arvonsa mukaan

Kuinka saada avain JavaScript-objektiin sen arvon perusteella?




Alla on lähestymistapoja, joilla saamme avaimen JavaScript-objektiin sen arvon perusteella:

Sisällysluettelo

python alustusluettelo

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

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
Object.values()- ja indexOf()-menetelmien käyttäminen

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>