JSFiddle - React, Tailwind, and code Playground

by ErikE

JavaScript

var data_points = [[1310279337, 5], [1310279340, 1]],
    ms_ago_points = [];
// Assuming the data_points array is sorted in ascending order...

function msFromDataPoints(nowTime, dataPoints) {
    var d = dataPoints.length,
        i = 0,
        anchor = Math.floor(nowTime.getTime() / 100) * 100,
        ms = anchor,
        msArr = [];
    while (d--) {
        while (ms >= data_points[d][0] * 1000) {
            msArr.push([anchor - ms, dataPoints[d][1]];
            ms -= 100;
        }
    }
    return msArr;
}

ms_ago_points = msFromDataPoints(new Date('Sat Jul 09 2011 23:29:01 GMT-0700'), data_points);

console.log(ms_ago_points);