gpt4 book ai didi

javascript - "Potential Infinite Loop"困惑

转载 作者:行者123 更新时间:2023-12-02 14:07:33 25 4
gpt4 key购买 nike

当我运行以下函数时,出现此错误:

“错误:潜在的无限循环。”

问题似乎是我在拼接方法中使用的“0”,因为当我将其更改为任何其他数字(1 - 9)时,我不会收到此错误。

我不确定这将如何创建无限循环。

我在拼接方法中使用的“0”是否与“i”或其他内容混淆了?

非常感谢您的帮助,谢谢。

function spinalCase(str) {
var array = str.split("");
for (i = 0; i < array.length; i++) {
if (array[i] !== array[i].toLowerCase()) {
array.splice(i, 0, " ");
}
}
return array;
}
spinalCase('AllThe-small Things');

最佳答案

array.splice(i, 0, ""); 表示在当前 i 索引处插入一个新元素。这意味着位于 i 的项目被推到 i + 1 处。因此,在循环的下一次迭代中,您将再次处理相同的项目,从而永远产生另一个插入等。

您可以在 if block 内增加 i 额外的时间,但我更喜欢向后循环:

function spinalCase(str) {
var array = str.split("");
for (i = array.length - 1; i >= 0; i--) {
if (array[i] !== array[i].toLowerCase()) {
array.splice(i, 0, " ");
}
}
return array;
}
console.log(spinalCase('AllThe-small Things'));

关于javascript - "Potential Infinite Loop"困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39910320/

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