2015-11-30 108 views
-4

如果不使用拆分反轉和連接函數,那麼會怎麼做這樣的事情?如何在不使用方法的情況下在js中反轉字符串

鑑於問題:反轉的話在一個字符串輸入示例: 「Hello World」 的示例輸出: 「世界你好」

<script> 
 
    var newString = ""; 
 
    var theString = prompt("Enter a Phrase that you would like to reverse (Ex. Hello world)"); 
 

 
    newString = theString.split(" ").reverse().join(" ") 
 

 

 
    document.write(newString); 
 
</script>

我能它使用內置的使方法。但問題只要求使用使用

  • 陣列
  • 子串
  • 的charAt()

那麼我將如何去這件事嗎?

+0

你允許使用的indexOf()? – ewanc

+0

也許你應該發佈你的方法,你已經嘗試過。 – Florian

+2

爲什麼不考慮如何編寫split/reverse/join函數? – JJF

回答

-1

好的,所以你可以使用charAt來查找單詞之間的空格。當你知道空間的位置時,你可以使用子字符串來隔離單個單詞並將它們存儲在變量中。然後,您可以將它們移動並將它們重新組合在一起。因此,作爲一個例子:

var string = "Hello World", 
    words = [], 
    reversedString="", 
    i; 

for (i=0; i<string.length; i++) { 
    if (string.charAt(i) === " ") { 
    words.push(string.substring(0, i)); 
    words.push(string.substring(i)); 
    } 
} 

for (i=words.length-1; i>=0; i--) { 
    reversedString += words[i]; 
} 

請注意,這只是一個簡單的(未經測試),例如,只會爲兩個詞串工作。如果你想使它更多地工作,你需要改變子字符串的邏輯。希望能幫助到你!

編輯:只是注意到我沒有在最後反轉字符串,代碼更新。

這裏有一對夫婦的情況下,引用你需要他們: substring charAt

+0

謝謝,欣賞它 – saj5211

+0

沒問題,樂意幫忙:) – ewanc

+0

有沒有什麼特別的投票理由? – ewanc

相關問題