Javascript jQuery推送/加入未存储在空数组中
我正忙着使用空格键控制计时器。按下空格键x1,它开始运行,再次按下,它停止,然后它将一个值存储在一个容器中,这样它最终可以计算出5的平均值,但我使用jQuery中的Javascript jQuery推送/加入未存储在空数组中,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正忙着使用空格键控制计时器。按下空格键x1,它开始运行,再次按下,它停止,然后它将一个值存储在一个容器中,这样它最终可以计算出5的平均值,但我使用jQuery中的.push()方法将它推入一个名为:scores=[]的错误中
.push()
方法将它推入一个名为:scores=[]的错误中然后使用for循环遍历数组,出于某种原因,它会这样做,但我个人认为.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!");
}
}
});