Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Crash - Fatal编程技术网

Javascript 数组搜索导致浏览器崩溃

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中的数据

基本上,我从两个外部来源获得数据,我希望对两者进行比较

首先,我使用Ajax从XML中获取数据,并将其放入数组中的数组中:

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
或内循环的某个值。