zoukankan      html  css  js  c++  java
  • 构建曲线的数据(将横向对象数组中的数据组成纵向的曲线数据)

    在做能源管理项目的时候,有一个实际的需求,后台返回一连串的多个目标值的对象数组,但是需要从数据字典中获取到目标值得个数,然后组成需要曲线数据格式,具体看代码

    后台返回过来的数据如下

     var rowData=[
        {
          data1:1,
          data2:2,
          data3:3,
          data4:4,
          data5:5,
           actualValue:10
        },{
          data1:11,
          data2:22,
          data3:33,
          data4:44,
          data5:55,
           actualValue:20
        },{
          data1:111,
          data2:222,
          data3:333,
          data4:444,
          data5:555,
           actualValue:30
        },
      ]
    从后台可以获取到一个动态的值(目标值的个数,如果为3,意思就是有三个目标值)
     
      //从后台可以获取到一个动态的值(目标值的个数,如果为3,意思就是有三个目标值)
      var targerIndex=3;
    /*  var resultArr=    [
        {
          type:"bar",
          name:'目标值1',
          data:[1,11,111]
        },
        {
          type:"bar",
          name:'目标值2',
          data:[2,22,222]
        },
        {
          type:"bar",
          name:'目标值3',
          data:[3,33,333]
        },
        {
          type:"bar",
          name:'实际值',
          data:[10,20,30]
        }
      ]*/
    //第一步:组成临时的二维数组,里面包含所有目标值与实际值
     /* [
        [1,2,3,10],
        [11,22,33,20],
        [111,222,333,30],
      ]*/
    开始组数据
    //第一步:组成临时的二维数组,里面包含所有目标值与实际值
     /* [
        [1,2,3,10],
        [11,22,33,20],
        [111,222,333,30],
      ]*/
      var tempArr=[];
      for(var i=0;i<rowData.length;i++){
        var _arr=[];
        for(var j=0;j<targerIndex;j++){
          _arr.push(rowData[i]["data"+(j+1)]);
        }
        _arr.push(rowData[i].actualValue);
        tempArr.push(_arr);
      }
    //第二步:根据二维数组构建曲线的数据(重要)
    var series=[];
    for(var m=0;m<targerIndex+1;m++){
      series[m]={
        name:m==targerIndex?"实际值":'目标值'+(m+1),
        type:"bar",
        data:getData(m)
      }
    }
    console.log(series);
    function getData(index){
      var aryData=[];
      for(var i=0;i<tempArr.length;i++){
        aryData.push(tempArr[i][index])
      }
      return aryData;
    }

    注意:以上的方式主要在构建曲线的时候,这种组装数据的方式

     
  • 相关阅读:
    Vasya and Multisets
    tp5.1 输出json格式字符串被转义
    异步委托(实现多线程的方式)
    模糊查询(like)
    webService
    EL表达式
    远程登陆服务器(window系统)
    output引用类型
    存储过程的定义、修改和删除
    leetcode刷题笔记一百六十二题 寻求峰值
  • 原文地址:https://www.cnblogs.com/pengfei25/p/7906834.html
Copyright © 2011-2022 走看看