老师,想请教一个问题
来源:2-44 Promise

目訫
2020-05-10
现在我遇到了一组对象类型的数据
chartData: {
columns: ['name', 'value'],
rows: [
{ name: '教育培训', value: 50, 选择人群: 1000 },
{ name: '房产', value: 40, 选择人群: 1000 },
{ name: '保健养生', value: 30, 选择人群: 1000 },
{ name: '旅游', value: 20, 选择人群: 1000 },
{ name: '文化娱乐', value: 10, 选择人群: 1000 },
{ name: '家政服务', value: 9, 选择人群: 1000 },
{ name: '保险', value: 8, 选择人群: 1000 },
{ name: '家电', value: 7, 选择人群: 1000 },
{ name: '健身', value: 6, 选择人群: 1000 },
{ name: '汽车', value: 5, 选择人群: 1000 }
]
},
我想让它变成
chartData: {
columns: ['途径', '占比'],
rows: [
{ 途径: '教育培训', 占比: 50, 选择人群: 1000 },
{ 途径: '房产', 占比: 40, 选择人群: 1000 },
{ 途径: '保健养生', 占比: 30, 选择人群: 1000 },
{ 途径: '旅游', 占比: 20, 选择人群: 1000 },
{ 途径: '文化娱乐', 占比: 10, 选择人群: 1000 },
{ 途径: '家政服务', 占比: 9, 选择人群: 1000 },
{ 途径: '保险', 占比: 8, 选择人群: 1000 },
{ 途径: '家电', 占比: 7, 选择人群: 1000 },
{ 途径: '健身', 占比: 6, 选择人群: 1000 },
{ 途径: '汽车', 占比: 5, 选择人群: 1000 }
]
},
想了很久但是没有什么特别好的处理手段
老师可以提供一个方法或者思路吗?帮我解决这个问题,谢谢老师
1回答
-
const chartData={
columns: ['name', 'value'],
rows: [{
name: '教育培训',
value: 50,
选择人群: 1000
},
{
name: '房产',
value: 40,
选择人群: 1000
},
{
name: '保健养生',
value: 30,
选择人群: 1000
},
{
name: '旅游',
value: 20,
选择人群: 1000
},
{
name: '文化娱乐',
value: 10,
选择人群: 1000
},
{
name: '家政服务',
value: 9,
选择人群: 1000
},
{
name: '保险',
value: 8,
选择人群: 1000
},
{
name: '家电',
value: 7,
选择人群: 1000
},
{
name: '健身',
value: 6,
选择人群: 1000
},
{
name: '汽车',
value: 5,
选择人群: 1000
}
]
}
const proxy = new Proxy(chartData,{
get(obj,key){
switch(key){
case 'columns':
return ['途径', '占比']
case 'rows':
return obj[key].map(item=>{
return {
'途径':item.name,
'占比':item.value,
'选择人群':item['选择人群']
}
})
default:
return obj[key]
}
}
})
112020-05-11
相似问题