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

Унификация структуры элементов массива

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

С сервера приходит массив объектов data, каждый из которых имеет свою уникальную схему полей. Требуется реализовать функцию flatData, принимающую массив data и возвращающую новый массив, где все элементы приведены к одинаковой структуре. В результирующем массиве каждый объект должен содержать только свойства id и name, где name берётся из исходного объекта независимо от того, было ли оно вложено в другой объект или находилось на верхнем уровне.

const data = [
  { id: 1, name: "siberia can code 📘" },
  { id: 2, body: { name: "siberia can code 📘" } },
  { id: 3, type: "person", name: "siberia", lastname: "can code 📘" },
];

const flatData = (data: any) => data;

// [
//   { id: 1, name: "siberia can code 📘" },
//   { id: 2, name: "siberia can code 📘" },
//   { id: 3, name: "siberia can code 📘" },
// ];