Функция для поиска первого ключа, соответствующего тесту
Для поиска первого ключа в объекте, который соответствует заданной тестовой функции, используйте функцию findKey()
. Сначала получите все свойства объекта с помощью Object.keys()
. Затем примените тестовую функцию к каждой паре ключ-значение с использованием Array.prototype.find()
. Тестовая функция должна принимать три аргумента: значение, ключ и объект. Функция возвращает первый ключ, который удовлетворяет тестовой функции, или undefined
, если не найдено ни одного.
Вот пример реализации findKey()
:
const findKey = (obj, fn) =>
Object.keys(obj).find((key) => fn(obj[key], key, obj));
Для использования findKey()
передайте объект и тестовую функцию в качестве аргументов:
findKey(
{
barney: { age: 36, active: true },
fred: { age: 40, active: false },
pebbles: { age: 1, active: true }
},
(x) => x["active"]
); // 'barney'
В этом примере findKey()
возвращает первый ключ в объекте, где значение свойства active
равно true
, что является 'barney'
.