назад до уроку

Створення об’єкта з ключем з масиву

важливість: 4

Припустимо, ми отримали масив користувачів у вигляді {id:..., name:..., age:...}.

Створіть функцію groupById(arr), яка створює з масиву об’єкт із ключом id та елементами масиву як значеннями.

Наприклад:

let users = [
  {id: 'іван', name: "Іван Іванко", age: 20},
  {id: 'ганна', name: "Ганна Іванко", age: 24},
  {id: 'петро', name: "Петро Петренко", age: 31},
];

let usersById = groupById(users);

/*
// після виклику функції ви повинні отримати:

usersById = {
  іван: {id: 'іван', name: "Іван Іванко", age: 20},
  ганна: {id: 'ганна', name: "Ганна Іванко", age: 24},
  петро: {id: 'петро', name: "Петро Петренко", age: 31},
}
*/

Така функція дійсно зручна при роботі з даними сервера.

У цьому завданні ми вважаємо, що id унікальний. Не може бути двох елементів масиву з однаковими id.

Будь ласка, використовуйте метод масиву .reduce у рішенні.

Відкрити пісочницю з тестами.

function groupById(array) {
  return array.reduce((obj, value) => {
    obj[value.id] = value;
    return obj;
  }, {})
}

Відкрити рішення із тестами в пісочниці.