populationDataPerAge = {
const { data } = populationRawData,
data1 = [],
yearOffset = thisYear - 2020,
source = "real";
{
data
.filter(({ age }) => age.startsWith("0") | age.startsWith("100"))
.map(({ age, gender, value }) => {
age1 = parseInt(age.split("岁")[0]);
data1.push(
Object.assign(
{ source },
{ age: age1 + yearOffset, birthYear: 2020 - age1, gender, value }
)
);
});
}
{
var age1, age2, n;
data
.filter(
({ age }) =>
age.endsWith("岁") & !age.startsWith("0") & !age.startsWith("100")
)
.map(({ age, gender, value }) => {
age1 = parseInt(age.split("-")[0]);
age2 = parseInt(age.split("-")[1].split("岁")[0]);
n = age2 - age1 + 1;
for (let i = age1; i < age2 + 1; ++i) {
data1.push(
Object.assign(
{ source },
{
age: i + yearOffset,
birthYear: 2020 - i,
gender,
value: parseInt(value / n)
}
)
);
}
});
}
data1.sort((a, b) => a.age - b.age);
return data1;
}