Введение
В этом практическом занятии мы изучим функцию JavaScript под названием findLastKey(), которая помогает найти последний ключ в объекте, соответствующий заданному условию. Мы узнаем, как использовать Object.keys(), Array.prototype.reverse() и Array.prototype.find(), чтобы реализовать эту функцию, и рассмотрим, как ее можно использовать для упрощения нашего кода при работе с объектами. В конце этого практического занятия вы будете лучше понимать, как работать с объектами JavaScript и как использовать функцию findLastKey() для того, чтобы сделать ваш код более компактным и эффективным.
Функция для поиска последнего ключа, соответствующего условию
Для поиска последнего ключа в объекте, который удовлетворяет заданному условию, используйте функцию findLastKey. Эта функция принимает в качестве аргументов объект и функцию тестирования. Если найден соответствующий ключ, функция возвращает его. В противном случае возвращается undefined. Вот шаги, которые функция выполняет для поиска последнего ключа:
- Используйте
Object.keys(), чтобы получить все свойства объекта. - Используйте
Array.prototype.reverse(), чтобы перевернуть порядок ключей. - Используйте
Array.prototype.find(), чтобы проверить предоставленную функцию для каждой пары ключ-значение. Функция обратного вызова получает три аргумента — значение, ключ и объект. - Если найден соответствующий ключ, верните его.
const findLastKey = (obj, fn) =>
Object.keys(obj)
.reverse()
.find((key) => fn(obj[key], key, obj));
Вот пример использования findLastKey:
findLastKey(
{
barney: { age: 36, active: true },
fred: { age: 40, active: false },
pebbles: { age: 1, active: true }
},
(x) => x["active"]
); // 'pebbles'
Для использования этой функции откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
Резюме
Поздравляем! Вы завершили практическое занятие "Поиск последнего соответствующего ключа". Вы можете практиковаться в других практических занятиях в LabEx, чтобы улучшить свои навыки.