node篩選24小時前的時間戳并且排序

最近在做監控前端的報錯信息,收集小程序、公眾號、app、管理后臺的報錯信息,統一上傳到報錯平臺
其中以管理人員打開平臺的時間為最新的數據獲取后24小時的報錯信息
例:
打開時間為09:25則獲取
10:25-09:25
09:25-08:25
08:25-07:25
07:25-06:25
06:25-06:25~~~~

然后使用echarts來渲染數據

// 引入dayjs
const dayjs = require('dayjs')
// 24小時時間戳
const date = []
// x軸坐標
const xAxisData = []
// y軸數據
const yAxisData = []
// 模擬數據
const demolist = [1595236542, 1595256542]
for (var i = 0;i<24;i++) {
  const tdate = i === 0 ? dayjs().add(1, 'hour') : dayjs().subtract(i - 1, 'hour')
  const zdate = dayjs().subtract(i, 'hour')
  date.push({
    t: tdate.unix(),
    z: zdate.unix()
  })
  xAxisData.push(`${addZero(tdate.hour())}:${addZero(tdate.minute())}-${addZero(zdate.hour())}:${addZero(zdate.minute())}`)
}
date.forEach(el => {
  var dataItem = demolist.filter(item => el.t >= item && el.z <= item) || []
  if (dataItem.length !== 0) {
    yAxisData.push(dataItem.length)
  } else {
    yAxisData.push(0)
  }
})
function addZero(nub) {
  return nub < 10 ? '0' + nub : nub
}
console.log(xAxisData)
console.log(yAxisData)
最終得到的數據
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。