对象数据类型转value、name形式的对象数组数据类型

对象数据类型转value、name形式的数组数据类型

对象类型

const total = {
         wait_status:"未接单工单数",
         process_status:"处理中工单数",
         already_status:"已处理完成工单数",
         comment_status:"已评价工单数",
         hold_status:"挂起工单数", 
         invalid_status:"无效工单数",
      };

数组类型

const Arr= [
        {value:"3",name:"未接单"},
        {value:"9",name:"处理中"},
        {value:"1",name:"处理完成"},
        {value:"23",name:"已评价"},
        {value:"6",name:"挂起"},
        {value:"39",name:"无效"}
      ];``

函数封装

步骤:
第一步:数据类型为数组内部嵌套对象,由内而外处理数据;先将内部的对象处理完成,最后转成数组
第二步:将处理好的数组return出去
第三步:调用函数,使用变量接受return出去的值,即可使用

// 函数传入需转换的对象作为形参
  objtransArr(obj) {
      const dataArrPie = [];
      for (var k in obj) {
      //将对象定义成key、value形式{key:value}-->{"未接单":"6"}
        const data = {}; 
        // k           接口英文名
        // total[k]    value值
        data.value = obj[k]; // 将value值推进去
        // 开始处理key名称
        // 将固定的格式定义为常量数据
        const changeDataList = [
          {
            name: "wait_status",
            des: "未接单"
          },
          {
            name: "process_status",
            des: "处理中"
          },
          {
            name: "already_status",
            des: "已处理完成"
          },
          {
            name: "comment_status",
            des: "已评价"
          },
          {
            name: "hold_status",
            des: "挂起"
          },
          {
            name: "invalid_status",
            des: "无效"
          }
        ];
        // k为英文名称
        // d.name也为英文名称
        // 将符合条件(d.name == k)的des中文名取出作为name属性
        data.name = changeDataList.find(d => d.name == k).des;
        dataArrPie.push(data);
      }
      return dataArrPie;
    },

使用函数

click() {
      // 假设total为调取接口之后后端返回的数据
      const total = {
        wait_status: "1",
        process_status: "2",
        already_status: "5",
        comment_status: "8",
        hold_status: "9",
        invalid_status: "3"
      };
      // 定义一个常量接受函数return出去的处理好的数据
      const newData = this.objtransArr(total);
      console.warn(newData);
    }

打印出来的newData数据如下:
处理好之后echarts饼图的serice中data即可使用
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值