分類してまとめる 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
← → キーでも送れます