СоздайÑе обÑÐµÐºÑ Ñ ÐºÐ»ÑÑами из маÑÑива
ÐопÑÑÑим, Ð¼Ñ Ð¿Ð¾Ð»ÑÑили маÑÑив полÑзоваÑелей в виде {id:..., name:..., age:... }.
СоздайÑе ÑÑнкÑÐ¸Ñ groupById(arr), коÑоÑÐ°Ñ ÑоздаÑÑ Ð¸Ð· него обÑÐµÐºÑ Ñ id в каÑеÑÑве клÑÑа и ÑлеменÑами маÑÑива в каÑеÑÑве знаÑений.
ÐапÑимеÑ:
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);
/*
поÑле вÑзова Ñ Ð½Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ полÑÑиÑÑÑÑ:
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},
}
*/
Ð¢Ð°ÐºÐ°Ñ ÑÑнкÑÐ¸Ñ Ð¾ÑÐµÐ½Ñ Ñдобна пÑи ÑабоÑе Ñ Ð´Ð°Ð½Ð½Ñми, коÑоÑÑе пÑÐ¸Ñ Ð¾Ð´ÑÑ Ñ ÑеÑвеÑа.
Ð ÑÑой задаÑе Ð¼Ñ Ð¿Ñедполагаем, ÑÑо id Ñникален. Ðе Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð²ÑÑ
ÑлеменÑов маÑÑива Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñм id.
ÐÑполÑзÑйÑе меÑод .reduce в ÑеÑении.
ÐÑкÑÑÑÑ Ð¿ÐµÑоÑниÑÑ Ñ ÑеÑÑами Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ñи.
function groupById(array) {
return array.reduce((obj, value) => {
obj[value.id] = value;
return obj;
}, {})
}
ÐÑкÑÑÑÑ ÑеÑение Ñ ÑеÑÑами в пеÑоÑниÑе.