【发布时间】:2015-03-16 15:41:24
【问题描述】:
Coderbyte 问题是: 使用 JavaScript 语言,让函数 DashInsert(str) 在 str 中的每两个奇数之间插入破折号 ('-')。例如:如果 str 为 454793,则输出应为 4547-9-3。不要把零算作奇数。
所以当输入是 99946 时,输出应该是 9-9-946。
我有这个解决方案,但不太可行:
function DashInsert(num) {
var arr = num.toString().split('');
var i = 0;
while(i < arr.length-1){
if( arr[i]%2 !==0 && arr[i+1]%2 !==0){
arr.splice(i+1,0,'-');
}
i++
}
return arr.join('');
}
然后我找到了类似的答案:
function DashInsert(num) {
var arr = num.toString().split('');
var i = 0
while(i < arr.length-1){
if( arr[i]%2===1 && arr[i+1]%2===1){
arr.splice(i+1,0,'-');
}
i++
}
return arr.join(''); }
str = 99946;
alert(DashInsert(str));
谁能解释为什么它应该是 arr[i]%2===1?
【问题讨论】:
-
当
n是一个整数时,n % 2有两个可能的值...
标签: javascript