gpt4 book ai didi

javascript - 有限循环导致浏览器崩溃

转载 作者:行者123 更新时间:2023-12-03 03:28:03 24 4
gpt4 key购买 nike

我希望有人能解释我的 for 循环出了什么问题。如果我像 if(arguments[2]){ stable = rere(stable,arguments[2]);} 那样输入 for 循环,它会按预期工作。我可能有超过 6 个参数,并且想了解为什么这个循环无法正常运行。

function sym() {
function rere(a,b){
var check = [];
for(i=a.length-1; i>=0; i--){
for(x=b.length-1; x>=0; x--){
if(a[i] == b[x]){
check.push( a.splice(i,1) );
}
}
}

for(i=b.length-1; i>=0; i--){
for(x=check.length-1; x>=0; x--){
if(b[i] == check[x][0]){
b.splice(i,1);
}
}
}
var stable = a.concat(b);
return stable;
}
var stable = rere(arguments[0], arguments[1]);

//problem is HERE. The for loop repeating rere function crashes repl.it

for(i=2; i<arguments.length; i++){
stable = rere(stable, arguments[i]);
}
//End problem.

stable = stable.filter(function(a,b,c){
return b == c.indexOf(a);
});
return stable;
}

sym([3, 3, 3, 2, 5], [2, 1, 5, 7], [3, 4, 6, 6], [1, 2, 3], [5, 3, 9, 8], [1]);

最佳答案

您通过不在 rere() 中声明来重用 i 变量,因此它会在问题循环的每次迭代中重置。

要修复此问题,请使用 letvarrere() 内正确声明 i

关于javascript - 有限循环导致浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46223657/

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