通过Javascript中的一串数字循环

时间:2014-09-22 05:00:01

标签: javascript for-loop

嘿,伙计们正在处理CoderBytes的问题。以下说明:

使用JavaScript语言,让函数DashInsert(num)在num中的每两个奇数之间插入破折号(' - ')。例如:如果num为454793,则输出应为4547-9-3。不要把零数作为奇数。

使用下面的框中的参数测试功能,使用不同的参数测试代码。

所以我没有创建一个功能,但这是我的路线图。

num = 3333333333
arr = num.toString().split("")
for(var i = 0; i < arr.length; i++){
    if(arr[i] % 2 === 1 && arr[i + 1] % 2 === 1){
        num.toString().replace(arr[i].toString() + arr[i+1].toString(),
                    arr[i].toString() + "-" + arr[i+1].toString())
    }

    }

事情是,当我运行它时,它只在前两个三分之间放一个冲刺。我真的无法弄清楚为什么会这样。谁知道我哪里出错了?

1 个答案:

答案 0 :(得分:3)

在这里,这个简单的解决方案应该做得很好:

var num = 3434333333
var arr = num.toString().split("");
var finalStr = "";
for(var i = 0; i < arr.length; i++){
    if(arr[i] % 2 === 1 && arr[i + 1] % 2 === 1){
        finalStr += arr[i] + "-";
    }
    else {
        finalStr += arr[i];
    }
}

只需为结果保留一个字符串,如果两个连续数字为奇数,则在字符串中的数字后附加一个“ - ”,否则只需附加数字,最后一个字符串将包含所需的结果。

<强> See the DEMO here