javascript - 生成时间戳日期范围之间的空数据 | JavaScript

标签 javascript arrays loops timestamp

我得到了一些带有时间戳的统计数据。我想把它画在图表上。 数据以固定步长(1秒)递增,但其中一些数据丢失。 我想用自己生成的时间戳来填补这个空白。

// exmaple data form 18:00 to 18:47 (step 60000ms)

var data = [
    [1425056400000, 1123], //18:00
    [1425056460000, 1124], //18:01
    [1425056520000, 1125], //18:02
    [1425056580000, 1126], //18:03
    [1425056640000, 1140], //18:04
    [1425057840000, 2123], //18:24
    [1425057900000, 2133], //18:25
    [1425057960000, 2141], //18:26
    [1425059160000, 5129], //18:46
    [1425059220000, 5129]  //18:47
];


// required result
var dataParsed = [
    [1425056400000, 1123], //18:00
    [1425056460000, 1124], //18:01
    [1425056520000, 1125], //18:02
    [1425056580000, 1126], //18:03
    [1425056640000, 1140], //18:04
    [1425056700000, 0], //18:05
    [1425056760000, 0], //18:06
    [1425056820000, 0], //18:07
    //(...)
    [1425057780000, 0], //18:23
    [1425057840000, 2123], //18:24
    [1425057900000, 2133], //18:25
    [1425057960000, 2141], //18:26
    //(...)
    [1425058800000, 0], //18:40
    //(...)
    [1425059160000, 5129], //18:46
    [1425059220000, 5129]  //18:47
];

如何使用 JavaScript 做到这一点?

最佳答案

当您循环原始数组时,检查当前元素是否是序列中的下一个元素。如果没有,请使用另一个循环来生成缺失的元素:

var dataParsed = [];
var lastTime = data[0][0];
var timeStep = 60000;
for (var i = 0; i < data.length; i++) {
    var curTime = data[i][0];
    if (curTime > lastTime + timeStep) {
        for (var time = lastTime + timeStep; time < curTime; time += timeStep) {
            dataParse.push([time, 0]);
        }
    }
    dataParse.push(data[i]);
    lastTime = curTime;
}

关于javascript - 生成时间戳日期范围之间的空数据 | JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28771218/

相关文章:

javascript - JQuery 验证 - trim 空格

javascript - 无法让 Barba JS 过渡以处理页面更改

javascript - 如何检测是否将内联播放 html5 视频

php - 如何在保持顺序的同时更改数组中的键?

python - 查找数组是否可以转换为严格递增顺序

javascript - 使用javascript压缩二维数组的重复

python - While 1 与 While True。哪一个更Pythonic?

c# - 在循环数据时创建列表列?

javascript - 在 for 循环 Javascript 中使用 p++ 和++p 时的区别

javascript - 如何根据解析用户命令字符串为 HTML 元素着色