所以我目前正在开发一个动态工具,我使用Dropdown选择器选择数据。目前,我希望按类别选择数据,并添加包含相同年份和类别的所有值。
以下是我的数据集示例。
var data:[{
0:
Age group: '6 years'
Date:'2002',
Geography:'Alberta'
Sex:'Males'
Value:'19632.0'
},{
1:
Age group: '7 years'
Date:'2002',
Geography:'Alberta'
Sex:'Females'
Value:'1030.0'
},
{
2:
Age group: '5 years'
Date:'2002',
Geography:'Ontario'
Sex:'Females'
Value:'103.0'
}
{
3:
Age group: '7 years'
Date:'2002',
Geography:'Ontario'
Sex:'Females'
Value:'1030.0'
}]
我想将所有值添加到一起,无论选择哪个类别并分类到年份。
例如:如果用户选择" Geography"将每年和每个特定类别的所有值添加到一起以获得它们的总和。 因此,您对该年度的每个类别都有一个值。
答案 0 :(得分:0)
var data=[{
Age_group: '6 years',
Date:'2002',
Geography:'Alberta',
Sex:'Males',
Value:19632.0
},{
Age_group: '7 years',
Date:'2002',
Geography:'Alberta',
Sex:'Females',
Value:1030.0
},
{
Age_group: '5 years',
Date:'2002',
Geography:'Ontario',
Sex:'Females',
Value:103.0
},
{
Age_group: '7 years',
Date:'2002',
Geography:'Ontario',
Sex:'Females',
Value:1030.0
}]
function avg (data, group, group_value, value){
var result = 0
var total = 0
data.forEach(function(d,i){
if(d[group] == group_value){
result= result + d[value]
total = total + 1
}
})
return result/total
}
var avg_Geography = avg(data,'Geography','Ontario','Value')
var avg_Age = avg(data,'Age_group','7 years','Value')
console.log(avg_Geography)
console.log(avg_Age)