data = FileAttachment("breed_ages.json")
.json()
.then(data =>
data.flatMap(([breed, ages]) => {
let map = d3.index(ages, d => d[0]);
let max = d3.max(ages, d => d[0]);
for (let i = 0; i < max; i++) if (!map.has(i)) map.set(i, [i, 0]);
return Array.from(map.values(), ([age, count]) => ({
breed,
age,
count
})).sort((a, b) => d3.ascending(a.age, b.age));
})
)