老师,想请教一个问题

来源: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回答

慕粉1926294646

2020-05-11

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]

    }

  }

})


1
1
目訫
谢谢老师
2020-05-11
共1条回复

再学JavaScript ES(6-10)全版本语法大全

前端无门槛学习,从ES6到ES10,一套课程掌握JS最新语法

1182 学习 · 336 问题

查看课程