2015-03-19 34 views
0

console.log('blah'.repeatMe(3));javascript練習 - 帶字符串的遞歸函數

使用JavaScript編寫的代碼,這將使先前的功能打印:

輸出:blahblahblah

+1

對不起,沒有免費的codez。 – elclanrs 2015-03-19 00:07:02

+0

你試過了什麼?什麼沒有奏效?你能否在沒有將方法直接附加到字符串的語法糖的情況下做到這一點? – Thilo 2015-03-19 00:10:17

+0

聽起來像作業給我。你有什麼嘗試?你卡在哪裏?你能問一個關於解決方案的更具體的問題,而不是要求我們爲你寫代碼嗎? – jfriend00 2015-03-19 00:10:45

回答

1

哦,這太有趣了傳遞函數式的解決方案。

String.prototype.repeatMe = function(n) { 
 
    if (n <= 0) return ""; 
 
    if (n%2 === 1) return (""+this) + this.repeatMe(n-1); 
 

 
    var half = this.repeatMe(n/2); 
 
    return half + half; 
 
} 
 

 
document.body.innerHTML = "tester".repeat(10)

我會讓你的工作發生了什麼練習。

+1

非常感謝你的鹼液。分析您的解決方案非常有趣。 – 2015-03-19 14:20:41

+0

不客氣。 – 2015-03-19 14:21:46