highSchoolData = {
var dataUrban = dataEveryScore.filter(
(d) => (d.pos === "Urban") & (d.accumulate < basic.forUrban)
),
dataSuburb = dataEveryScore.filter(
(d) => (d.pos === "Suburb") & (d.accumulate < basic.forSuburb)
);
var scores = [
...new Set(
dataUrban.map((d) => d.score).concat(dataSuburb.map((d) => d.score))
)
];
const highSchoolEveryScore = [];
var urban, suburb, score;
scores.map((score) => {
urban = dataUrban.filter((d) => d.score === score)[0];
suburb = dataSuburb.filter((d) => d.score === score)[0];
urban = urban ? urban.num : 0;
suburb = suburb ? suburb.num : 0;
highSchoolEveryScore.push({
score,
urban,
suburb,
total: urban + suburb,
ratio: suburb === 0 ? undefined : urban / suburb
});
});
highSchoolEveryScore.map((d) => {
score = d.score;
Object.assign(d, {
accumulate: d3.sum(
highSchoolEveryScore.filter((d) => d.score >= score),
(d) => d.total
)
});
});
return { dataUrban, dataSuburb, scores, highSchoolEveryScore };
}