User Tools

Site Tools


java-script:reduce:group-people-by-age

This is an old revision of the document!


Use reduce to group people by age

group-people-by-age-reduce.js
function groupPeople(people) {
 
    if (people !== null && Array.isArray(people) && Array(people).length !== 0 && typeof people[0] === 'object') {
 
        let groupedPeopleByAge = people.reduce((group, person) => {
            const { age } = person;
            group[age] = group[age] ?? [];
            group[age].push(person.name);
            return group;
        }, {});
 
        return groupedPeopleByAge;
    }
    return [];
}
 
let people = [
    { name: "Alice", age: 25 },
    { name: "Bob", age: 25 },
    { name: "Charlie", age: 30 },
    { name: "David", age: 30 },
    { name: "Eve", age: 25 }
];
 
let groupedPeopleByAge = groupPeople(people);
console.log(groupedPeopleByAge);
java-script/reduce/group-people-by-age.1691429608.txt.gz · Last modified: 2023/08/07 20:33 by odefta