5

我的代码:

我尝试了以下代码,但单词的顺序正在改变

var str = "Welcome to my Website !";

alert(str.split("").reverse().join(""));

它给出的结果为

! etisbeW ym ot emocleW

但我需要结果为

emocleW ot ym etisbeW !

也就是说,我不想改变单词的顺序。

4

4 回答 4

19

用这个:

var str = "Welcome to my Website !";
alert(str.split("").reverse().join("").split(" ").reverse().join(" "));
于 2012-12-06T05:39:36.657 回答
11

您可以拆分空格,然后使用map反转每个单词中的字母:

alert(str.split(" ").map(function(x) {
    return x.split("").reverse().join("");
}).join(" "));​
于 2012-12-06T05:22:52.950 回答
5

对于较旧的浏览器支持,您可以试试这个,

var str = "Welcome to my Website !";

String.prototype.str_reverse= function(){
 return this.split('').reverse().join('');
}

var arr = str.split(" ");
for(var i=0; i<arr.length; i++){
 arr[i] = arr[i].str_reverse();
}

alert(arr.join(" ")); //OUTPUT: emocleW ot ym etisbeW !
于 2012-12-06T05:37:37.967 回答
1

我刚刚使用功能方法和打字稿解决了这个问题:

const  aString = "Our life always expresses the result of our dominant thoughts.";

function reverseString (str: string) :string {
  return  str.split('').reverse().join('')
}

function reverseWords(str:string) :string {
  return str.split(" ").map(reverseString).join(" ")
}

console.log(reverseWords(aString))
// ruO efil syawla sesserpxe eht tluser fo ruo tnanimod .sthguoht
于 2018-09-05T20:38:52.917 回答