Javascript For循环暂停,但同时打印出所有数组
我很难找到一个简单的JavaScript for循环 以下是一个例子:Javascript For循环暂停,但同时打印出所有数组,javascript,Javascript,我很难找到一个简单的JavaScript for循环 以下是一个例子: var arr=[“香蕉”、“橘子”、“苹果”、“芒果”]; 对于(i=1;iInside setTimeout-不打印整个数组,只打印当前元素 var arr=[“香蕉”、“橘子”、“苹果”、“芒果”]; for(设i=1;i
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
对于(i=1;iInside setTimeout-不打印整个数组,只打印当前元素
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
for(设i=1;i<5;++i){
设置延迟(i);
}
功能设置延迟(i){
setTimeout(函数(){
控制台日志(arr[i-1])
},i*1000);
}
在setTimeout内-不打印整个数组,只打印当前元素
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
for(设i=1;i<5;++i){
设置延迟(i);
}
功能设置延迟(i){
setTimeout(函数(){
控制台日志(arr[i-1])
},i*1000);
}
在循环中使用setTimeout
创建延迟的另一种方法是setInterval
函数。setInterval
将在每次经过指定的毫秒持续时间时执行函数参数:
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
var i=0;
var intervalId=setInterval(logNext,1000);
函数logNext(){
如果(i }
在循环中使用setTimeout
创建延迟的另一种方法是setInterval
函数。setInterval
将在每次经过指定的毫秒持续时间时执行函数参数:
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
var i=0;
var intervalId=setInterval(logNext,1000);
函数logNext(){
如果(i }
您的代码中存在多个问题:
请记住Javascript数组是基于0的。您从1开始
同样,一定要注意索引的结束边界(在for循环中)。即使对于1-base,它也太过分了(4个可用项中有5个)
在setTimeout
中,您正在使用for(arr的const value)
打印整个数组。您可能试图将i
作为索引传入,以便只索引一个元素
考虑到这些注释,以下是更改了这些部分的工作代码:
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
对于(i=0;i ”);
},i*1000);
}
您的代码中存在多个问题:
请记住Javascript数组是基于0的。您从1开始
同样,一定要注意索引的结束边界(在for循环中)。即使对于1-base,它也太过分了(4个可用项中有5个)
在setTimeout
中,您正在使用for(arr的const value)
打印整个数组。您可能试图将i
作为索引传入,以便只索引一个元素
考虑到这些注释,以下是更改了这些部分的工作代码:
var arr=[“香蕉”、“橘子”、“苹果”、“芒果”];
对于(i=0;i ”);
},i*1000);
}
可能的重复通过运行代码,您可以看到您正在setTimeout
中打印整个数组。如果您像arr[i]一样访问数组,则不必在setTimeout
for
循环中循环整个arr
并且只打印一项而不是全部,您的代码将按照您的意愿工作。通过运行代码,您可以看到您正在setTimeout
中打印整个数组。如果您访问像arr[i]
这样的数组,只打印一项而不是全部,你的代码会按照你的意愿工作。请参考@Nitish Narang的答案以获得更好的Javascript代码风格,尽管我认为我关于索引的建议也值得采纳。哇,谢谢。我尝试通过将i=设置为数组来实现这一点(出于绝望),但这更有意义。我可以访问数组和I。这样我就可以使用arr[I]。有关更好的Javascript代码风格,请参考@Nitish Narang的答案,尽管我认为我关于索引的建议也值得采纳。哇,谢谢。我尝试通过将I=设置为数组来实现这一点(出于绝望),但这更有意义。我可以访问数组和I。这样我就可以使用arr[I]。为什么要使用1-i?从i=1开始更好吗?我知道数组索引从0开始。哦,等等,所以数组是4长的,所以你把i改为等于1,匹配偏移量?如果我做i