【发布时间】:2014-02-28 23:29:11
【问题描述】:
让函数 DashInsert(num) 在 num 的每两个奇数之间插入破折号 ('-')。例如:如果 num 为 454793,则输出应为 4547-9-3。不要把零算作奇数。 这是我的代码(不工作)。当我运行它时,我得到与无限循环相同的响应,我必须杀死页面,但我不明白为什么。我知道有办法通过将其保留为字符串来做到这一点,但现在我想知道为什么我的方法不起作用。谢谢...
function DashInsert(num) {
num = num.split("");
for (i = 1; i < num.length; i++) {
if (num[i - 1] % 2 != 0 && num[i] % 2 != 0) {
num.splice(i, 0, "-");
}
}
num = num.join("");
return num;
}
【问题讨论】:
-
@A1rPun 这没什么区别。
-
确实如此,您的代码可能会导致奇怪的行为。
-
我认为这是因为在某些情况下,您在破折号 '-' 本身上使用 % 运算符,例如在你将破折号拼接到数组之后。
标签: javascript arrays string insert