2013-08-22 4 views
4

각 단어에 대한 문자의 순서를 반대로 :자바 스크립트 내가 다음하지만 성공을 해결하기 위해 노력하고 있어요 문자열

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

가능한 중복 [자바 스크립트의 장소에서 문자열을 반대합니까?] (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(" ") 

출력 :

+0

미안하지만이 단어의 순서를 바꿔, 각 단어 안의 문자 순서 만 바꿔야합니다. 어쨌든 고마워요 ... – Alex

+1

@Alex 죄송합니다. 질문에 대한 오해. 당신이 원하는 대답을주기 위해 split, reverse, join을 반복함으로써 답변을 업데이트했습니다. – 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; 
관련 문제