gpt4 book ai didi

Javascript:迭代数组会导致无限循环?

转载 作者:行者123 更新时间:2023-11-28 02:06:27 25 4
gpt4 key购买 nike

我正在尝试使用以下代码迭代 Javascript 中的一些数据:

for (var i = 0; i < fromdata.length; i++) {
var mainid = fromdata[i].id;
var sub = afcHelper_Submissions[mainid];
/* do more stuff */

fromdata 是一个对象数组,如下所示:

[{ type="ffu", to=" Jon Corzine ", id=1, more...}, { type="ffu", to=" Jon Corzine ", id=2, more...}]

正如你所看到的,我只想获取每个对象的 id 并将其存储到 mainid,然后用它做更多的事情;然而,我遇到了麻烦:循环!循环播放!循环播放!循环不断地运行。它永远不会停止,只是设法卡住 Firebug。

更新:这是“做更多的事情”,在其所有的pastebin荣耀中:http://pastebin.com/Mfr90uq7 。请注意,我将变量名称从 sub 更改为 sub_m 以避免潜在的冲突,但问题仍然存在。

最佳答案

仅当条件始终为真时,循环才可以是无限的。在您的情况下,它看起来应该达到 false ,但可以证明 formData 正在循环的每次迭代中获取新元素,或者 i 正在被修改并返回到以前的值。

我建议创建仅用于比较目的的变量:

var max = fromdata.length;
for (var count = 0; count < max; count++) {
var i = count;
// your stuff using formdata and i

现在maxcount将不会被循环中的代码修改,循环将到达结束。

关于Javascript:迭代数组会导致无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com