Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery推送/加入未存储在空数组中_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript jQuery推送/加入未存储在空数组中

Javascript jQuery推送/加入未存储在空数组中,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正忙着使用空格键控制计时器。按下空格键x1,它开始运行,再次按下,它停止,然后它将一个值存储在一个容器中,这样它最终可以计算出5的平均值,但我使用jQuery中的.push()方法将它推入一个名为:scores=[]的错误中

我正忙着使用空格键控制计时器。按下空格键x1,它开始运行,再次按下,它停止,然后它将一个值存储在一个容器中,这样它最终可以计算出5的平均值,但我使用jQuery中的
.push()
方法将它推入一个名为:
scores=[]的错误中.push()
函数会覆盖它。。。因为没有5个值,我无法计算5的平均值

jQuery 请提醒我,我希望计时器停止时得到的值被推入数组
scores=[]并保留,不被覆盖,当数组的值为5倍时,它将计算平均值5

var int,
ms=0,
s=0,
m=0;
$('样本').text(“00:00:00”);
函数样例(){
var startTime=new Date().getTime();
int=setInterval(函数(){
var time=new Date().getTime();
var dif=时间开始时间;
ms=dif%100;
s=数学楼层(dif/1000)%60;
m=数学楼层(dif/1000/60)%60;
如果(ms<10){
ms='0'+ms;
}
如果(s<10){
s='0'+s;
}
如果(m<10){
m='0'+m;
}
$(“#样本”).text(m+”:“+s+”:“+ms);
},1);
}
$(文档).on('keydown',函数(e){
var得分=[];
var result=$('#样例').text();
如果(e.keyCode==32&&!int){
样本();
}否则如果(e.keyCode==32){
清除间隔(int);
int=0;
得分。推(结果);
对于(变量i=0;i”+分数[i]+”);
}
console.log(分数、分数、长度);
如果(分数.长度==1){
log(“你得到了一个平均值!”);
}
}
});
  • 您在处理程序中定义
    分数
    ,因此每次调用时它都会覆盖自身。所以,你需要在外面申报

  • join()
    用于
    Array
    的实例,而不是
    String

  • 您需要
    push
    scores.push(结果)

  • int
    是一个不应用作标识符的关键字

  • @用户3613655很高兴能提供帮助:)别忘了单击我答案上的勾号将此标记为答案;)
    var int,
         ms=0,
         s=0,
         m=0;
    
    $('#swatch').text("00:00:00");
    
    function swatch(){
    
      var startTime = new Date().getTime();
      int = setInterval(function(){
          var time = new Date().getTime();
          var dif = time-startTime;
          ms= dif%100;
          s = Math.floor(dif/1000)%60;
          m = Math.floor(dif/1000/60)%60;
    
            if(ms < 10) {
                ms = '0'+ms;
            }
    
            if(s < 10) {
                s = '0'+s;
            }
    
            if(m < 10) {
                m = '0'+m;
            }
    
            $('#swatch').text(m+':'+s+':'+ms);
    
      },1);
    
    }
    
    $(document).on('keydown', function(e){
        var scores = [];
        var result = $('#swatch').text();
    
    
        if(e.keyCode == 32 && !int){
            swatch();
        } else if (e.keyCode == 32){
            clearInterval(int);
            int=0;
            scores.push(result);
            for (var i = 0; i < scores.length; i = i + 1) {
                $('#score ol').append('<li>' + scores[i] + '</li>');
            }
    
            console.log(scores, scores.length);
            if(scores.length == 1) {
                console.log("You've got an average!");
            }
    
        }
    });