2014-09-22 72 views
0

嘿,那些從CoderBytes處理問題的人。以下方向:在Javascript中循環顯示一串數字

使用JavaScript語言,在num中的每兩個奇數之間使用函數DashInsert(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()) 
    } 

    } 

事情是當我運行這個它只在前兩個三分之一之間劃破。我真的不知道爲什麼會發生這種情況。任何人都知道我要去哪裏錯了?

+0

分號(';')是你的朋友! – jasonscript 2014-09-22 05:47:14

回答

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

+0

非常酷。謝謝! – theamateurdataanalyst 2014-09-22 05:08:44

+0

歡迎您,不要忘記標記正確的答案(: – 2014-09-22 05:09:30

+0

)限制應該是'i RobG 2014-09-22 05:17:06