Получение значений полей объектов по заданному ключу

Используйте map и вычисляемое имя свойства: каждый результат — новый объект только с запрошенным ключом. Это не массив самих значений.

Короткий ответ

Что ответить на собеседовании

Используйте map и вычисляемое имя свойства: каждый результат — новый объект только с запрошенным ключом. Это не массив самих значений.

Подробный разбор

Ответ с пояснениями

Условие

Создайте функцию, принимающую массив объектов и строку‑ключ, которая возвращает новый массив, где каждый элемент содержит только то свойство, соответствующее переданному ключу.

// ([{label: "label1", id: 1}], "label") => [{label: "label1"}]
// ([{label: "label1", id: 1}], "id") => [{id: 1}]

Ответ

Используйте map и вычисляемое имя свойства: каждый результат — новый объект только с запрошенным ключом. Это не массив самих значений.

function pickField(items, key) {
  return items.map(item => ({ [key]: item[key] }));
}

Для ключа label получится [{label:'label1'}], для id — [{id:1}]. Исходные объекты не изменяются. Если свойства нет, создаётся ключ со значением undefined; если такой результат нежелателен, заранее проверяйте Object.hasOwn. Вложенное значение-объект копируется по ссылке, глубокое клонирование условием не требуется.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее