我正在编写一个需要条形图的应用程序,其条形图在 x 轴中,相对于显示的事件之间的平均时间距离的数量级。 / p>
例如,我想要显示的事件中的平均时间距离可能是73秒。这意味着箱子相对于显示的栏的大小应该是一分钟。
输入间隔和推断的数量级的持续时间(秒)的其他示例是:
等等。我试着查看moment.js库,发现他们实现了一些非常有趣的东西:fromNow
method。
请注意,我也对之前说明的每个数量级的秒数感兴趣。
我知道我可以通过一系列测试(休息分区)自己实现它,但我想重新发明(可能是马车)车轮。
答案 0 :(得分:0)
最后,我在以下简单函数中实现了一个解决方案:
function compute_magnitude_interval(average_interval) {
var minute = 60;
var hour = minute*60;
var day = hour*24;
var possible_intervals = [
1, 2, 5, 10, 20, 30,
minute, minute*2, minute*5, minute*10, minute*20, minute*30,
hour, hour*2, hour*5, hour*10, hour*12,
day, day*2, day*5, day*10, day*15
].reverse();
for(var i in possible_intervals){
var seconds = possible_intervals[i];
if (Math.floor(average_interval/seconds) > 0) {
return seconds;
}
};
}