我想在给定一个可变的项目列表时运行多个计时器。 代码大致如下:
var list = Array(...);
for(var x in list){
setInterval(function(){
list[x] += 10;
console.log(x + "=>" + list[x] + "\n");
}, 5 * 1000);
}
以上代码的问题在于只有列表末尾的项被更新,更新后的值是列表长度乘以末尾项的值。
能否提供一个解决方案并解释一下为什么会出现这种情况?