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)看起来也有点不可靠,由于它将错过一次迭代,可能是有意的或无意的,所以我的答案被否决了。假设将来我会远离这样的问题,不要担心投反对票。让我来补偿一下有些人只是不太擅长提问,需要一些额外的问题。在将来,通过对问题的评论来澄清问题比直接回答问题要好。