Javascript 数组搜索导致浏览器崩溃
基本上,我从两个外部来源获得数据,我希望对两者进行比较 首先,我使用Ajax从XML中获取数据,并将其放入数组中的数组中:Javascript 数组搜索导致浏览器崩溃,javascript,arrays,crash,Javascript,Arrays,Crash,基本上,我从两个外部来源获得数据,我希望对两者进行比较 首先,我使用Ajax从XML中获取数据,并将其放入数组中的数组中: var Array1 = []; //outside Ajax ... var valueToPush = new Array(); valueToPush[0] = zz; valueToPush[1] = aa; Array1.push(valueToPush); 然后我从一个从HTML文件中删除的PHP文件中得到一篇帖子,同时我尝试比较XML和删除的HTML中的数据
var Array1 = []; //outside Ajax
...
var valueToPush = new Array();
valueToPush[0] = zz;
valueToPush[1] = aa;
Array1.push(valueToPush);
然后我从一个从HTML文件中删除的PHP文件中得到一篇帖子,同时我尝试比较XML和删除的HTML中的数据(使用日期时间),还使用if语句限制搜索:
if (lng < (-18)) {
for(var i=0, len = Array1.length; i<len; i++) {
var date1 = Array1[i][1];
if (date2 == date1) {
alert("equal");
}
else {
//do something else
}
}
}
if(液化天然气<(-18)){
for(vari=0,len=Array1.length;1GB内存和浏览器崩溃(有时我可以停止脚本)。问题(我认为)在于“for(vari=0,len=Array1.length;i
有人能给我指出一个解决办法吗
谢谢
编辑:站点崩溃的实时版本。从435-449中删除。解决崩溃问题,但不比较数据。
Edit2:在注释之后,我将代码编辑为一个更简单的版本。它有两个表,一个表返回废弃HTML中的事件“if long<18”,另一个表返回事件“long>18”。取消注释183-200将使浏览器崩溃。请注意,取消注释后,在第一个表中,它将无限重复第一个结果“if long<18”
正在工作但已发表评论-
崩溃未注释-
Edit3
根据Crazy Train用户的建议,我在a for中用另一个字母ex j替换了a i,解决了我的问题!下面的评论中解释了原因。感谢Crazy Train!您从中获取信息的文件有多大?数组1的长度是多少?无论问题是什么,您都将其排除在外。链接到注释掉导致崩溃的代码的页面会更有用。这更好。首先,在调试时,您需要做的是消除代码块以消除它们。这是您通过注释掉for
循环所做的,但您应该继续这样做。最终,您会将其减少到较小的代码t位这可能会暴露问题。或者,如果您仍然不知道问题所在,那么问题可能会很小,可以轻松地发布在您的问题中。我的观点是,您需要完成这些基本的调试步骤,并提供问题所在的工作示例。您提供的一点点代码并没有实现这一点……但最后,您的问题是,您的for
循环在另一个for
循环中,两个循环都使用i
变量作为计数器。因此,当您到达内部for
循环(导致问题的循环)时,您正在将i
重置为0
,并将其递增到小于外循环边界的某个值,以便循环永远不会到达其边界,也永远不会停止。请将变量更改为j
或内循环的某个值。