Найти последний соответствующий ключ

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим функцию JavaScript под названием findLastKey(), которая помогает найти последний ключ в объекте, соответствующий заданному условию. Мы узнаем, как использовать Object.keys(), Array.prototype.reverse() и Array.prototype.find(), чтобы реализовать эту функцию, и рассмотрим, как ее можно использовать для упрощения нашего кода при работе с объектами. В конце этого практического занятия вы будете лучше понимать, как работать с объектами JavaScript и как использовать функцию findLastKey() для того, чтобы сделать ваш код более компактным и эффективным.

Функция для поиска последнего ключа, соответствующего условию

Для поиска последнего ключа в объекте, который удовлетворяет заданному условию, используйте функцию findLastKey. Эта функция принимает в качестве аргументов объект и функцию тестирования. Если найден соответствующий ключ, функция возвращает его. В противном случае возвращается undefined. Вот шаги, которые функция выполняет для поиска последнего ключа:

  1. Используйте Object.keys(), чтобы получить все свойства объекта.
  2. Используйте Array.prototype.reverse(), чтобы перевернуть порядок ключей.
  3. Используйте Array.prototype.find(), чтобы проверить предоставленную функцию для каждой пары ключ-значение. Функция обратного вызова получает три аргумента — значение, ключ и объект.
  4. Если найден соответствующий ключ, верните его.
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, чтобы улучшить свои навыки.