Vit*_*los 5 javascript reactjs react-native
我需要获取该对象关注者最多的 3 个年龄。不仅是年龄范围,我还需要将所有性别的选择年龄相加。例如:如果18-24是金额最高的结果,那么我需要添加:男性(100个关注者)+女性(120个关注者)+其他(10个关注者)=230个关注者...你必须显示年龄屏幕上的范围,我需要知道年龄范围的总量和所有数据来制作进度条并转换为百分比......我已经尝试了一切,但我无法
目的:
`
"value": {
"U.45-54": 10,
"U.35-44": 14,
"U.25-34": 16,
"U.55-64": 1,
"U.13-17": 1,
"M.65+": 3,
"U.18-24": 8,
"M.55-64": 8,
"M.45-54": 27,
"F.35-44": 287,
"M.35-44": 102,
"F.55-64": 37,
"M.18-24": 17,
"M.13-17": 1,
"F.65+": 5,
"F.25-34": 335,
"F.45-54": 119,
"M.25-34": 111,
"F.18-24": 58
}
Run Code Online (Sandbox Code Playgroud)
`
我尝试了一切,但我做不到。我需要提供图像中的数据
我想你想要这个。
const value ={
"U.45-54": 10,
"U.35-44": 14,
"U.25-34": 16,
"U.55-64": 1,
"U.13-17": 1,
"M.65+": 3,
"U.18-24": 8,
"M.55-64": 8,
"M.45-54": 27,
"F.35-44": 287,
"M.35-44": 102,
"F.55-64": 37,
"M.18-24": 17,
"M.13-17": 1,
"F.65+": 5,
"F.25-34": 335,
"F.45-54": 119,
"M.25-34": 111,
"F.18-24": 58
}
const arr = Object.keys(value);
const res = arr.reduce((accum, item) => {
const isFemale = item.startsWith('F')
const isMale = item.startsWith('M')
const ageRange = item.split('.')[1]
if( isFemale) {
if(!accum.Female[ageRange]) {
accum['Female'] = {
...accum.Female,
[ageRange]: value[item]
}
} else {
accum['Female'] = {
[ageRange]: accum.Female[ageRange] + value[item]
}
}
} else if(isMale) {
if(!accum.Male[ageRange]) {
accum['Male'] = {
...accum.Male,
[ageRange]: value[item]
}
} else {
accum['Male'] = {
[ageRange]: accum.Male[ageRange] + value[item]
}
}
} else {
if(!accum.Undefined[ageRange]) {
accum['Undefined'] = {
...accum.Undefined,
[ageRange]: value[item]
}
} else {
accum['Undefined'] = {
[ageRange]: accum.Undefined[ageRange] + value[item]
}
}
}
return accum;
}, {
Female: {},
Male : {},
Undefined: {},
})
console.log(res);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |