Назад к задачам
Junior — Senior
12

Усовершенствование типизации функции, формирующей массив значений из объекта

Компании, где спрашивали:

Альфа-БанкАльфа-Банк
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Требуется доработать типизацию функции, которая собирает массив значений из переданного объекта по набору ключей. Функция должна корректно работать, даже если среди запрашиваемых ключей присутствуют отсутствующие в объекте, и не допускать ошибок компиляции в TypeScript.

const arrayFromkeys = (obj: Record<string, any>, keys: string[]) => { 
  const out = [];
  for (const key of keys) (
    out.push(obj[key]);
  )
  return out;
}
const obj = {
  a: 1, 
  b: 'B',
  'c d': null,
}

// Ошибка
arrayFronkeys(obj, ['z']);