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我已经用我现有的代码更新了我的原始帖子,尽管我仍然面临着一个问题,元素没有像预期的那样被删除