在javascript中将时间数组转换为某个时间间隔数组?

时间:2017-07-27 14:40:37

标签: javascript jquery arrays

我正在Canvas中实现图形。所以我有x轴和y轴。我正在以数组形式转换这两个值。 x轴指向时间,y轴指向体积数据。 你可以看到更多想法的屏幕截图: enter image description here

此图表基于某些数组绘制。

enter image description here

以前我很有价值:

  

表示Y轴[377,622,42,188]
  用于X轴[“02.20”,“4:30”,“08:50”,“09:10”]

所以我选择了X轴(02.20)和结束时间(9:10)的开始时间,分为几小时,如[“02.20”,“03:00”,“4:30”,“05:00” , “6时00分”, “7点00分”, “8时50分”, “9点10”]。

如果数据不在Y轴阵列中,则Y轴在数组中放0,根据X轴。

call.all('data').get('navigation').then(function(resp){
      setTimeout(function(){
        var totalVolumeArr = _.map(resp.data,function(res){ return res.tot});
        lineData2.labels = _.map(resp.data,function(res,idx){
          var time = [];
          if (typeof resp.data[idx - 1] !== 'undefined') {
            if (((resp.data[idx - 1])._id.hr + 1) !== res._id.hr) {
              for (var i = resp.data[idx - 1]._id.hr + 1; i < res._id.hr; i++) {                    time.push('0' +i + ':00');
              }
            }
          }
          var x =  time.push(('0' + res._id.hr).slice(-2) + ':' + (''+ res._id.slot).slice(-2)+'0');            
          return  time;
        });

        var flatArray = [].concat.apply([],  lineData2.labels);
        _.map(resp.data,function(res,idx){
          var time=[];
          var tempArr=[];
          if (typeof resp.data[idx - 1] !== 'undefined') {
            if (((resp.data[idx - 1])._id.hr + 1) !== res._id.hr) {
              for (var i = resp.data[idx - 1]._id.hr + 1; i < res._id.hr; i++) {
                if(jQuery.inArray('0' +i + ':00', flatArray) !== -1)
                {
                  var indexValue='0' +i + ':00';
                  var indexPosition= flatArray.indexOf(indexValue);
                  totalVolumeArr.splice(indexPosition, 0, "0"); //push the 0 volume value into array of totalvolumearray
                }
              }
            }
          }
          return tempArr;
        })
    xAxisValue = flatArray;
    yAxisValue = totalVolumeArr;
});

现在我想重新排列这两个数组flateArray和totalValumeArr。

你可以认为xAxisValue = [“02.20”,“4:30”,“08:50”]               yAxisValue = [377,622,42]

付诸实施: **

  

xAxisValue =   [ “2点20分”, “02:30”, “二点四十”, “二点50分”, “03:00”, “3时10”, “3时10”, “3时20”,” 03:30" , “03:40”, “03:50”, “04:00”, “04:10”, “04:20”, “04:30”, “04:40”,“04: 50" , “05:00”, “5时10分”, “五点20”, “05:30”, “5点40”, “五时50”, “06:00”, “6点10” , “06:20”, “06:30”, “06:40”, “06:50”, “07:00”, “07:10”, “07:20”, “07:30”,” 07:40" , “07:50”, “08:00”, “08:10”, “08:20”, “08:30”, “08:40”   “8点50”]

**  **

  

yAxisValue =   [377,0,0,0,0,0,0,0,0,0,0,0,0,0,622,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42]

** 上面的代码工作正常,如果我想看到每小时的基础。但现在我想设置数据间隔10分钟。如果数据不存在则应该有0个数据量的时间。请分享你的逻辑。哪种方法最好?

0 个答案:

没有答案