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 17:34] – odefta | java-script:reduce:group-people-by-age [2025/01/02 18:22] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| 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: (external edit)
