Javascript 显示最后一分钟的可变数字的函数
我试图创建一个函数,该函数只保留过去一分钟的变量计数。 例如,如果我调用函数Javascript 显示最后一分钟的可变数字的函数,javascript,node.js,Javascript,Node.js,我试图创建一个函数,该函数只保留过去一分钟的变量计数。 例如,如果我调用函数count100次,如果其中60次调用来自过去一分钟,它将只返回60次,而不是100次 这就是我到目前为止所尝试的,将变量设置为数组,并在每次调用时向其添加数字,但我不知道如何在一分钟后删除计数 var count = 1; var countArray = []; 更新: 我已经用这个更新了我的代码,但是数组元素并没有像应该的那样被删除 function Count() { var jNow = new Date
count
100次,如果其中60次调用来自过去一分钟,它将只返回60次,而不是100次
这就是我到目前为止所尝试的,将变量设置为数组,并在每次调用时向其添加数字,但我不知道如何在一分钟后删除计数
var count = 1;
var countArray = [];
更新:
我已经用这个更新了我的代码,但是数组元素并没有像应该的那样被删除
function Count() {
var jNow = new Date();
jCountArray.push(jNow);
for (var i = 0; i <= jCountArray.length; i++) {
var secondsDiff = (new Date(jNow).getTime() - new Date(jCountArray[i]).getTime()) / 1000;
if (secondsDiff >= 10) { jCountArray.shift(); }
}
console.log(jCountArray);
return jCountArray.length;
}
函数计数(){
var jNow=新日期();
jCountArray.push(jNow);
对于(var i=0;i=10){jCountArray.shift();}
}
log(jCountArray);
返回jCountArray.length;
}
如果我正确理解了您的需求,并且您需要做的唯一一件事是返回它在最后一分钟被调用的次数,我认为我们可以相对轻松地利用:
函数getCounter(){
让计数=0;
让持续时间=60000;
返回函数(){
计数=计数+1;
setTimeout(函数(){
计数=计数-1;
},持续时间);
返回计数;
}
}
let counter=getCounter();
函数计数(){
log(counter());
}
Count
Nice,到目前为止你尝试了什么?@ASDFGerte我更新了我原来的帖子!我能想到的是,在每次调用时向数组添加时间戳,删除60秒前的时间戳,并使用数组的长度作为计数。@ASDFGerte这是一个很好的观察结果,我将尝试并实现它@ASDFGerte我已经用我现有的代码更新了我的原始帖子,尽管我仍然面临着一个问题,元素没有像预期的那样被删除