分類してまとめる groupBy

実践JavaScript / 全 5

実践JavaScript - 分類してまとめる groupBy

年ごとに作品を束ねる

一覧を年で見出し分けしたいとき、欲しいのは年をキーにしたオブジェクトです。reduce の初期値を空のオブジェクトにすると、この形をそのまま組み立てられます。

キーは文字列になります。数値の 2024 で書いても、取り出すときの鍵は "2024" です。

acc は育っていく 1 つのオブジェクトです。毎回同じものを返しているだけです。

const byYear = works.reduce((acc, w) => { if (!acc[w.year]) acc[w.year] = []; acc[w.year].push(w.title); return acc; }, {}); console.log(byYear[2024].length); // 2 console.log(Object.keys(byYear)); // ["2023", "2024", "2025"]

1 / 5

このスライドが付いているレッスンを開く