java-script:reduce:group-people-by-age
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
java-script:reduce:group-people-by-age [2023/08/07 20:34] – odefta | java-script:reduce:group-people-by-age [2023/08/07 20:42] (current) – odefta | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | |||
+ | In this example, the accumulator starts as an empty object {}, and the function is applied to each person object in the people array. | ||
+ | |||
+ | This function is a neat example of how you can use **reduce** in conjunction with other modern JavaScript features like **destructuring** and the **nullish coalescing operator** to concisely perform a complex transformation on an array. | ||
<code javascript group-people-by-age-reduce.js> | <code javascript group-people-by-age-reduce.js> | ||
Line 7: | Line 11: | ||
let groupedPeopleByAge = people.reduce((group, | let groupedPeopleByAge = people.reduce((group, | ||
- | const { age } = person; | + | const { age } = person; |
- | group[age] = group[age] ?? []; | + | group[age] = group[age] ?? []; //nullish coalescing operatorn |
group[age].push(person.name); | group[age].push(person.name); | ||
return group; | return group; |
java-script/reduce/group-people-by-age.1691429647.txt.gz · Last modified: 2023/08/07 20:34 by odefta