2013-08-22 74 views
4

我試圖避開以下,但沒有成功:的JavaScript扭轉字母每個單詞的順序在一個字符串

var string = "erehT era a tsav rebmun fo secruoser rof gninrael erom tpircsavaJ"; 

var x = string.split(" "); 
for(i=0; i<=x.length; i++){ 
    var element = x[i]; 
} 

元素現在代表了數組內的每個字。我現在需要反轉的不是單詞的順序,而是每個單詞的每個字母的順序。

+0

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

回答

11
var string = "erehT era a tsav rebmun fo secruoser rof gninrael erom tpircsavaJ"; 
// you can split, reverse, join " " first and then "" too 
string.split("").reverse().join("").split(" ").reverse().join(" ") 

輸出:「有學習更多的Javascript廣大資源的」

+0

對不起,但這反過來的話的順序,我只需要在每個字裏面的字母順序被顛倒..謝謝反正...... – Alex

+1

@亞歷克斯對不起,誤解了你的問題。更新答案,好吧,只需重複分割,反向,加入給你想要的答案 – Lobo

+0

這似乎比@plalx顯示的那個更清晰或簡單,雖然有點重複... – Alex

7

您可以使用Array.prototype.mapArray.prototype.reverse這樣做。

var result = string.split(' ').map(function (item) { 
    return item.split('').reverse().join(''); 
}).join(' '); 

有什麼地圖功能做什麼呢?

它遍歷通過拆分初始字符串創建的數組,並調用我們爲每個元素提供的參數function (item)。然後它獲取該函數的返回值並將其推入一個新數組中。最後,它返回新數組,在我們的示例中,它按順序包含反轉字。

+0

完美的工作,但是在那裏做的地圖功能是什麼? – Alex

0

你可以做到以下幾點:

let stringToReverse = "tpircsavaJ"; 

stringToReverse.split("").reverse().join("").split(" ").reverse().join(" ") 

//讓關鍵字允許你在新的聲明變量ECMAScript(JavaScript)

0

您可以執行以下操作。

var string = "erehT era a tsav rebmun fo secruoser rof gninrael erom tpircsavaJ"; 

arrayX=string.split(" "); 
arrayX.sort().reverse(); 
var arrayXX=''; 
arrayX.forEach(function(item){ 
items=item.split('').sort().reverse(); 
arrayXX=arrayXX+items.join(''); 
}); 
document.getElementById('demo').innerHTML=arrayXX; 
相關問題