Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 如何在循环中设置变量而不破坏循环?_Javascript - Fatal编程技术网

Javascript 如何在循环中设置变量而不破坏循环?

Javascript 如何在循环中设置变量而不破坏循环?,javascript,Javascript,我是个新手,如果这是个愚蠢的问题,我很抱歉。我一直在寻找答案,但我找不到一个足够接近的解决方案来适应。这是我代码的一部分: for (var k = 0; k < (pointstoshow.length-1); k++){ // k looping nicely at this point u = pointstoshow[k] //k not looping at this point, only uses the last number allpoints[u].setM

我是个新手,如果这是个愚蠢的问题,我很抱歉。我一直在寻找答案,但我找不到一个足够接近的解决方案来适应。这是我代码的一部分:

for (var k = 0; k < (pointstoshow.length-1); k++){
   // k looping nicely at this point
u = pointstoshow[k]
   //k not looping at this point, only uses the last number
allpoints[u].setMap(map);
}
for(var k=0;k<(pointstoshow.length-1);k++){
//k在这一点上很好地循环
u=点显示[k]
//k此时不循环,只使用最后一个数字
所有点[u]。设置映射(映射);
}
我试图访问数组(pointstoshow)中的数字,以使用存储为引用的数字搜索另一个数组(allpoints),但我无法让它工作。如果我将一个警报设置为show pointstoshow[k]它可以正常工作,只有在我尝试将它们附加到一个变量上时,它才不起作用

我今天大部分时间都在做这件事,毫无乐趣,所以任何建议都很感激


谢谢你漏掉了一个分号,你需要申报美国。不完全确定这里需要发生什么,所以这是一个在黑暗中拍摄

var u;
for(var k = 0; k < (pointstoshow.length-1); k++){  
    u = pointstoshow[k];  
    allpoints[u].setMap(map);  
}
var-u;
对于(var k=0;k<(pointstoshow.length-1);k++{
u=点显示[k];
所有点[u]。设置映射(映射);
}

您漏掉了一个分号,您需要申报u。不完全确定这里需要发生什么,所以这是一个在黑暗中拍摄

var u;
for(var k = 0; k < (pointstoshow.length-1); k++){  
    u = pointstoshow[k];  
    allpoints[u].setMap(map);  
}
var-u;
对于(var k=0;k<(pointstoshow.length-1);k++{
u=点显示[k];
所有点[u]。设置映射(映射);
}

很难从你发布的内容中分辨出来;代码中的注释毫无意义,因为循环中的最后一行代码根本没有对
k
的引用。这真的是你遇到问题的代码吗?你是在设置计时器处理程序还是事件处理程序?当然,k在第二行不会递增,值k在每个循环后都会递增,这意味着在执行{和}之间的整个指令集后,我真的不明白出了什么问题?因此,根据您的评论,您实际上在
u
中得到了正确的数字,对吗?那么如果
u
是正确的,为什么会出现问题呢<代码>所有点[u]也应该正确,对吗?您描述的问题通常与异步代码(计时器或异步请求)有关。实际代码是否使用了其中的任何一个?您可以发布fiddler示例吗?你能把你的答案贴出来作为回答吗?很难从你贴的内容中分辨出来;代码中的注释毫无意义,因为循环中的最后一行代码根本没有对
k
的引用。这真的是你遇到问题的代码吗?你是在设置计时器处理程序还是事件处理程序?当然,k在第二行不会递增,值k在每个循环后都会递增,这意味着在执行{和}之间的整个指令集后,我真的不明白出了什么问题?因此,根据您的评论,您实际上在
u
中得到了正确的数字,对吗?那么如果
u
是正确的,为什么会出现问题呢<代码>所有点[u]也应该正确,对吗?您描述的问题通常与异步代码(计时器或异步请求)有关。实际代码是否使用了其中的任何一个?您可以发布fiddler示例吗?因此,你可以更好地理解。你能把你的答案作为答案发布吗?半圆很可能只是一个输入错误,
u
也可能(不知不觉地)是一个隐含的全局值,但在这种情况下这并不重要……老实说,(pointstoshow.length-1)看起来也有点不可靠,因为它可能会错过一次迭代,可能是有意的,也可能不是有意的,我的答案被否决了。假设将来我会远离这样的问题,不要担心投反对票。让我来补偿一下有些人只是不太擅长提问,需要一些额外的问题。在未来,最好是通过对问题的评论来澄清问题,而不是直接回答问题。半圆可能只是一个输入错误,
u
也可能(不知不觉地)是一个隐含的全局值,但在这种情况下这不重要……老实说,(pointstoshow.length-1)看起来也有点不可靠,由于它将错过一次迭代,可能是有意的或无意的,所以我的答案被否决了。假设将来我会远离这样的问题,不要担心投反对票。让我来补偿一下有些人只是不太擅长提问,需要一些额外的问题。在将来,通过对问题的评论来澄清问题比直接回答问题要好。