În acest articol, vom învăța cum să obținem o cheie într-un obiect JavaScript după valoarea sa. Valorile obiectului pot fi găsite prin iterarea proprietăților sale. Fiecare dintre aceste proprietăți poate fi verificată pentru a vedea dacă se potrivesc cu valoarea furnizată.

Cum să obțineți o cheie într-un obiect JavaScript după valoarea sa?
Mai jos sunt abordările prin care obținem o cheie într-un obiect JavaScript după valoarea sa:
Cuprins
- Folosind o buclă for-in
- Folosind metoda find()
- Folosind metoda filter() și metoda cheilor obiect().
- Folosind metoda Object.entries() și reduce().
- Folosind metoda Lodash _.findKey().
- Folosind metoda Object.values() și indexOf().
Metoda 1: Utilizarea unei bucle for-in
- Valorile obiectului pot fi găsite prin iterarea proprietăților sale.
- Fiecare dintre aceste proprietăți poate fi verificată pentru a vedea dacă se potrivesc cu valoarea furnizată. Proprietățile obiectului sunt obținute prin utilizarea unei bucle for pe obiect.
- Aceste proprietăți sunt apoi verificate cu metoda hasOwnProperty() a obiectului pentru a vă asigura că este o proprietate directă a obiectului și nu una moștenită.
- Fiecare proprietate este apoi verificată dacă sunt egale cu valoarea de găsit. Dacă valoarea se potrivește, atunci proprietatea este returnată. Aceasta este cheia valorii obiectului.
Exemplu: Acest exemplu este implementarea abordării explicate mai sus.
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);> Ieșire
key2>
Metoda 2: Folosind metoda find()
- Metoda Object.keys() este folosită pentru a returna toate cheile obiectului.
- Pe această matrice de chei, metoda find() este utilizată pentru a testa dacă oricare dintre aceste chei se potrivește cu valoarea furnizată.
- Metoda find() este folosită pentru a returna valoarea primului element care satisface funcția de testare.
- Dacă valoarea se potrivește, atunci această condiție este îndeplinită și cheia respectivă este returnată. Aceasta este cheia valorii obiectului.
Notă: Această metodă a fost adăugată la specificația ES6 și este posibil să nu fie acceptată pe versiunile mai vechi de browser.
Exemplu: Acest exemplu este implementarea abordării explicate mai sus.
Javascript function getKeyByValue(object, value) { return Object.keys(object).find(key =>obiect[cheie] === valoare); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>>>
Ieșire key1>
Folosind metoda filter() și metoda cheilor obiect().
- În această metodă, vom obține metodele object.keys și filter() pentru a obține o cheie în JavaScript după valoarea sa.
- vom filtra cheia dată și vom returna valoarea acesteia dacă este prezentă în obiect.
Exemplu: Acest exemplu este implementarea abordării explicate mai sus.
Javascript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[cheie] === valoare); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>>>
Ieșire Folosind metoda Object.entries() și reduce().
- În această metodă, vom obține metodele use object.entries() și reduce() pentru a obține o cheie în JavaScript după valoarea sa.
- Și returnează valoarea cheii date.
Exemplu: Acest exemplu este implementarea abordării explicate mai sus.
Javascript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === valoare) { acc.push(key); } return acc; }, []); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>>>
Ieșire Folosind Metoda Lodash _.findKey().
- În această metodă folosim metoda _.findkey() a lui lodash.
- Aceasta returnează cheia obiectului dat.
Exemplu: Acest exemplu este implementarea abordării explicate mai sus.
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);> Ieșire:
În această metodă, vom folosi metoda Object.values() pentru a extrage toate valorile din obiect și apoi vom folosi metoda indexOf() pentru a găsi indexul valorii țintă în matricea de valori. Odată ce avem indexul, îl putem folosi pentru a prelua cheia corespunzătoare din matricea de chei returnată de Object.keys().
Exemplu:
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> Ieșire
city>