У цій статті ми дізнаємося, як отримати ключ в об’єкті JavaScript за його значенням. Значення об’єкта можна знайти, перебираючи його властивості. Кожну з цих властивостей можна перевірити на відповідність наданому значенню.

Як отримати ключ в об’єкті JavaScript за його значенням?
Нижче наведено підходи, за допомогою яких ми отримуємо ключ в об’єкті JavaScript за його значенням:
Матрична програма мовою c
Зміст
- Використання циклу for-in
- Використання методу find()
- Використання методу filter() і методу Object keys().
- Використання методу Object.entries() і reduce().
- Використання методу Lodash _.findKey().
- Використання методу Object.values() і indexOf().
Спосіб 1. Використання циклу for-in
- Значення об’єкта можна знайти, перебираючи його властивості.
- Кожну з цих властивостей можна перевірити на відповідність наданому значенню. Властивості об’єкта отримують за допомогою циклу for для об’єкта.
- Потім ці властивості перевіряються за допомогою методу hasOwnProperty() об’єкта, щоб переконатися, що це пряма властивість об’єкта, а не успадкована.
- Кожна властивість потім перевіряється, чи вона дорівнює значенню, яке потрібно знайти. Якщо значення збігається, властивість повертається. Це ключ до цінності об'єкта.
приклад: Цей приклад є реалізацією описаного вище підходу.
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);> Вихід
key2>
Спосіб 2: Використання методу find()
- Метод Object.keys() використовується для повернення всіх ключів об’єкта.
- У цьому масиві ключів метод find() використовується для перевірки відповідності будь-якого з цих ключів наданому значенню.
- Метод find() використовується для повернення значення першого елемента, який задовольняє функцію перевірки.
- Якщо значення збігається, ця умова виконується і повертається відповідний ключ. Це ключ до цінності об'єкта.
Примітка: Цей метод додано до специфікації ES6 і може не підтримуватися в старих версіях браузера.
приклад: Цей приклад є реалізацією описаного вище підходу.
Javascript function getKeyByValue(object, value) { return Object.keys(object).find(key =>об'єкт[ключ] === значення); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Вихід
key1>
Використання методу filter() і методу Object keys().
- У цьому методі ми використовуємо методи object.keys і filter(), щоб отримати ключ у JavaScript за його значенням.
- ми відфільтруємо вказаний ключ і повернемо його значення, якщо він присутній в об’єкті.
приклад: Цей приклад є реалізацією описаного вище підходу.
Javascript
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[ключ] === значення); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Вихід
[ 'key1' ]>
Використання методу Object.entries() і reduce().
- У цьому методі ми використовуємо методи object.entries() і reduce(), щоб отримати ключ у JavaScript за його значенням.
- І повертає значення заданого ключа.
приклад: Цей приклад є реалізацією описаного вище підходу.
Javascript function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === значення) { acc.push(ключ); } return acc; }, []); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);> Вихід
[ 'key1' ]>
Використання Метод Lodash _.findKey().
- У цьому методі ми використовуємо метод _.findkey() lodash.
- Це повертає ключ даного об’єкта.
приклад: Цей приклад є реалізацією описаного вище підходу.
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);> Вихід:
seetu>
Використання методу Object.values() і indexOf().
У цьому методі ми використаємо метод Object.values(), щоб отримати всі значення з об’єкта, а потім використаємо метод indexOf(), щоб знайти індекс цільового значення в масиві значень. Отримавши індекс, ми можемо використовувати його для отримання відповідного ключа з масиву ключів, який повертає Object.keys().
приклад:
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> Вихід
city>
значення рядка java