VytvoÅenà klÃÄovaného objektu z pole
důležitost: 4
ÅeknÄme, že jsme zÃskali pole uživatelů ve formÄ {id:..., jméno:..., vÄk... }.
VytvoÅte funkci seskupPodleId(pole), která z nÄj vytvoÅà objekt, jehož klÃÄi budou hodnoty id a hodnotami prvky pole.
PÅÃklad:
let uživatelé = [
{id: 'jan', jméno: "Jan Novák", vÄk: 20},
{id: 'anna', jméno: "Anna Nováková", vÄk: 24},
{id: 'petr', jméno: "Petr PetÅÃk", vÄk: 31},
];
let uživateléPodleId = seskupPodleId(uživatelé);
/*
// po volánà bychom mÄli mÃt:
uživateléPodleId = {
jan: {id: 'jan', jméno: "Jan Novák", vÄk: 20},
anna: {id: 'anna', jméno: "Anna Nováková", vÄk: 24},
petr: {id: 'petr', jméno: "Petr PetÅÃk", vÄk: 31},
}
*/
Taková funkce se opravdu hodÃ, když pracujeme se serverovými daty.
V této úloze pÅedpokládáme, že id je unikátnÃ. V poli nesmÄjà být dva prvky se stejným id.
ProsÃme použijte v ÅeÅ¡enà metodu pole .reduce.
function seskupPodleId(pole) {
return pole.reduce((obj, hodnota) => {
obj[hodnota.id] = hodnota;
return obj;
}, {})
}