希希莱娜 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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料