2015-09-14 32 views
1

在JavaScript中,反轉字符串的最簡單方法是什麼?因爲我是一名腦功能障礙學生,不允許我直接思考,我的代碼需要儘可能簡單。反轉JS中的字符串

+6

可能的重複[你如何在JavaScript中反轉字符串?](http://stackoverflow.com/questions/958908/how-do-you-reverse-a-string-in-place-in- javascript) – ssube

+3

可能的重複[在JavaScript中反轉字符串](http://stackoverflow.com/questions/1611427/reversing-a-string-in-javascript) – Carlangueitor

+0

@ssube它不是「可能的」,但確實是重複的!這兩個以前的鏈接評論有大量的實現/選項 –

回答

3
return s.split('').reverse().join(''); 
+1

僅有代碼的答案不是很有幫助。你應該包括對正在發生的事情以及如何進行解釋。 – ssube

+0

它將字符串分割成一個數組,每個元素包含一個字符,顛倒該數組的順序,然後將數組連接成一個沒有分隔符的單個字符串。 – Scott

0

這一個也適用,它不像前面提到的那樣密集。

這裏的jsfiddle

function join(array, con) { 
    con = con ? con : ""; 
    var str = ""; 
    for (var i = 0; i < array.length; i++) { 
     str += array[i] + con; 
    } 
    return str; 
} 

function reverse(str) { 
    var newStr = []; 
    for (var i = 0; i < str.length/2; i++) { 
      var temp = str[i]; 
     newStr[i] = str[str.length - i - 1]; 
     newStr[str.length - i - 1] = temp; 
    } 
    return join(newStr, ""); 
} 

document.write(reverse("FooBar")); 
0

上面的回答會工作得很好;這可能是最簡單的方法。 只是爲了補充幾句..

  • split()方法將字符串分割成一個數組。

  • reverse()方法反轉數組。

  • join()方法將元素連接到一個字符串中。

所以我們得到

s.split('').reverse().join('');

它拆分成字符串數組,逆轉並從一個數組把它重新走到一起爲一個字符串。

這裏是一個解決方案使用遞歸:

function reverseString(s) { 
    return (s === '') ? '' : reverseString(s.substr(1)) + s.charAt(0); 
} 

函數遞歸調用自身,其中給定的字符串被作爲參數傳遞(除了第一個字符),直到直到它耗盡輸入的它將繼續迭代。因此我們有一個反轉的字符串。