gpt4 book ai didi

javascript - JavaScript 中的平均计数器速度

转载 作者:行者123 更新时间:2023-11-28 08:33:43 25 4
gpt4 key购买 nike

我有一个以不规则速度向上计数的值。此速度可以在 3 次点击/秒和 0.2 次点击/秒之间变化。

我需要根据最近5秒显示当前的平均计数速度。

我在获取总体平均值或过去 5 秒的平均值方面没有任何问题,但它会每 5 秒更新一次。我需要的是让这个值不断更新(比如每 0.2 秒)并不断重新计算。有人知道如何实现这一目标吗?

<小时/>

计数器是以随机速度增加的值。

window.onload = function(){
window.setInterval(average(), 500);
}

var queue = [];
var times = [];
var ts;
var maxage = 3000;

function average()
{
// add to queue
ts = new Date().getTime();
queue.push(counter);
times.push(ts);
if(times[0] - ts > maxage) {
queue.shift();
times.shift();
}

// read from queue
ts = new Date().getTime();
while(times[0] - ts > maxage) {
queue.shift();
times.shift();
}
var result;
result = (counter - queue[0])/3;
//g.refresh(result);
document.getElementById('res').innerHTML =("<font size='150'>speed " + queue[0] + "</font>");
window.setInterval(average(), 500);
}

最佳答案

普通(长度有限的队列):

var queue = [];

// add to queue
queue.push(val);
if(queue.length > maxlen) queue.shift;

// read from queue
val = queue[0];

有年龄限制的队列:

var queue = [];
var times = [];
var ts;

// add to queue
ts = new Date().getTime();
queue.push(val);
times.push(ts);
if(times[0] - ts > maxage) {
queue.shift();
times.shift();
}

// read from queue
ts = new Date().getTime();
while(times[0] - ts > maxage) {
queue.shift();
times.shift();
}
val = queue[0];

关于javascript - JavaScript 中的平均计数器速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21511375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com