돌아가기
이 글은 다음 언어로만 작성되어 있습니다. عربي, English, Español, فارسی, Indonesia, Italiano, 日本語, Русский, Українська, 简体中文. 한국어 번역에 참여해주세요.

Create keyed object from array

중요도: 4

Let’s say we received an array of users in the form {id:..., name:..., age... }.

Create a function groupById(arr) that creates an object from it, with id as the key, and array items as values.

For example:

let users = [
  {id: 'john', name: "John Smith", age: 20},
  {id: 'ann', name: "Ann Smith", age: 24},
  {id: 'pete', name: "Pete Peterson", age: 31},
];

let usersById = groupById(users);

/*
// after the call we should have:

usersById = {
  john: {id: 'john', name: "John Smith", age: 20},
  ann: {id: 'ann', name: "Ann Smith", age: 24},
  pete: {id: 'pete', name: "Pete Peterson", age: 31},
}
*/

Such function is really handy when working with server data.

In this task we assume that id is unique. There may be no two array items with the same id.

Please use array .reduce method in the solution.

테스트 코드가 담긴 샌드박스를 열어 정답을 작성해보세요.

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

테스트 코드가 담긴 샌드박스를 열어 정답을 확인해보세요.