Javascript For循环暂停,但同时打印出所有数组

Javascript For循环暂停,但同时打印出所有数组,javascript,Javascript,我很难找到一个简单的JavaScript for循环 以下是一个例子: var arr=[“香蕉”、“橘子”、“苹果”、“芒果”]; 对于(i=1;iInside setTimeout-不打印整个数组,只打印当前元素 var arr=[“香蕉”、“橘子”、“苹果”、“芒果”]; for(设i=1;i

我很难找到一个简单的JavaScript for循环

以下是一个例子:

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