我的代码:
我尝试了以下代码,但单词的顺序正在改变
var str = "Welcome to my Website !";
alert(str.split("").reverse().join(""));
正在给出结果
! etisbeW ym ot emocleW
但我需要结果
emocleW ot ym etisbeW !
也就是说,我不想改变单词的顺序。
答案 0 :(得分:18)
使用此:
var str = "Welcome to my Website !";
alert(str.split("").reverse().join("").split(" ").reverse().join(" "));
答案 1 :(得分:11)
您可以拆分空格,然后使用map
翻转每个单词中的字母:
alert(str.split(" ").map(function(x) {
return x.split("").reverse().join("");
}).join(" "));
答案 2 :(得分:4)
对于较旧的浏览器支持,您可以尝试使用
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 !
答案 3 :(得分:0)
我刚刚使用功能性方法和打字稿解决了这个问题:
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