gpt4 book ai didi

javascript - `for` 调试无限循环的普通语法

转载 作者:行者123 更新时间:2023-11-30 08:09:55 26 4
gpt4 key购买 nike

我找到了函数 here .它接受一个整数数组并返回它们的最大公约数。有时它会陷入无限循环并导致浏览器崩溃。我想调试它找出原因,但我不明白 for 中使用的语法秒。如何将这些重写为普通 for(var i; i<max; i++)循环?

mdc = function(o){
if(!o.length)
return 0;
for(var r, a, i = o.length - 1, b = o[i]; i;)
for(a = o[--i]; r = a % b; a = b, b = r);
return b;
};

最佳答案

这是从 for 循环到 while 循环的直译:

mdc = function(o){
if(!o.length)
return 0;
var r;
var a;
var i = o.length - 1;
var b = o[i];
while (i) {
a = o[--i];
while (r = a % b) {
a = b;
b = r;
}
}
return b;
};

这是一个翻译,它解开了一些愚蠢的东西并重命名了变量:

mdc = function(o){
if(!o.length)
return 0;
var cur_index = o.length - 1;
var b = o[cur_index];
while (cur_index) {
cur_index -= 1;
var a = o[cur_index];

var remainder = a % b;
while (remainder) {
a = b;
b = remainder;
remainder = a % b;
}
}
return b;
};

关于javascript - `for` 调试无限循环的普通语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102405/

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