希希莱娜 2019-10-12 09:33 采纳率: 64.3%
浏览 136

关于设置时间数组的问题

我定义了这样一个数组

    const totalTimes = ['6:05','6:15','6:20','6:25','6:40','6:45','6:55','7:00','8:00','9:00']
    const inStation = [10,20,50,60,40,70,50,80,20,10]
    const outStation =[30,40,35,65,0,40,20,30,10,20]
    const totalStation = inStation.map(function(v,i){
            return v+outStation[i]
    })

设置五分钟的时间轴

  //5-24总时间
    var m = 5;
    var n = -5;
    var arr=[];
    for(var i=0;i<229;i++){
            n+=5;
            if(n>55){
                    n = 0;
                    m+=1
            }
            arr.push(m+":"+(n>9?n:"0"+n));
    }

进行五分钟的时间补全

//数据设置
    const last = totalTimes[totalTimes.length-1]
    const length = arr.indexOf(last) +1
    const resXtimeArray = arr.slice(0,length)
    let resTotalPassenger = []
    let resInPassenger =[]
    let resOutPassenger =[]
    let totalNum = 0
    let inNum = 0
    let outNum = 0
    resXtimeArray.map((value,index) => {
    if(totalTimes.indexOf(value) !== -1) {
        resTotalPassenger[index] = totalStation[totalNum++]
        resInPassenger[index] = inStation[inNum++]
        resOutPassenger[index] = outStation[outNum++]
    }
    else {
        resTotalPassenger[index] = 0
        resInPassenger[index] = 0
        resOutPassenger[index] = 0
    }
    })

然后进行数据轴为10分钟的两两补全

  tenMinuteSel(){
    //定义x轴数组 
    this.xAixsTimeData = this.xAixsTotalData.filter((value,index)=>{
    if(index%2===0){
            return true
    }
})
    //总乘客
    let resTotal = []
    this.yAxisTotalPassenger.filter((item,index,arr)=>{
    if((index+1)%2 ===0){
        let sumTotal = (arr[index+1]||0)+(arr[index]||0);
        resTotal.push(sumTotal)
    }
    })
    resTotal.unshift(this.yAxisTotalPassenger[0])
    this.resTotalPassenger =[]
    this.resTotalPassenger = [].concat(resTotal)
    //出站乘客
    let resOut = []        
    this.yAxisOutPassenger.filter((item,index,arr)=>{
    if((index+1)%2 ===0){
            let sumOut = (arr[index+1]|| 0)+(arr[index]||0);
            resOut.push(sumOut)
    }
})
    resOut.unshift(this.yAxisOutPassenger[0])
    this.resOutPassenger =[]
    this.resOutPassenger = [].concat(resOut)
    //定义 进入的乘客相加
    let resIn = []
    this.yAxisInPassenger.filter((item,index,arr)=>{
    if((index+1)%2 ===0){
            let sum = (arr[index+1]|| 0)+(arr[index]||0);
            resIn.push(sum)
    }
})
    resIn.unshift(this.yAxisInPassenger[0])
    this.resInPassenger =[]
    this.resInPassenger = [].concat(resIn)
    this.drawPassengerChart()
},

这样设置的话,我的时间有'9:05'的值话,会多出来放到'9:10'中,我该怎么设置能确定多余的数后,在坐标轴之间保留原来的05的时间轴,变成
'8:50','9:00','9:05','9:10'

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2019-10-12 09:38
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘