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;
    }

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

     
  • 相关阅读:
    jQuery CVE-2019-11358原型污染漏洞分析和修复建议
    IIS中配置访问HTTPS
    如何把网址配置为http和https可以同时访问
    C#获取一周的工作日显示(星期几)
    Oracle查询数据库中所有表的记录数
    发布WebApi项目时,提示未包含binyourDocumentationFile.xml文档文件
    IntelliJ Idea 配置Tomcat提示Port is not specified
    C# 属性(Property)和字段(Field)的区别
    IDEA 出现错误:找不到或无法加载主类
    C# Enum 类型遍历
  • 原文地址:https://www.cnblogs.com/pengfei25/p/7906834.html
Copyright © 2011-2022 走看看