【发布时间】:2017-02-16 01:04:00
【问题描述】:
当我运行以下函数时,出现此错误:
“错误:潜在的无限循环。”
问题似乎是我在拼接方法中使用的“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的语法 -
array.splice(i, 0, " ");的目的是什么,你想用空格替换当前项目吗? -
您的代码将新元素插入到数组中,这使得
array.length更大。 -
@nnnnnn 啊,谢谢,我会继续进行更改,看看错误是否消失。
标签: javascript arrays for-loop infinite-loop array-splice