[英]How to Reverse String in javascript
I have string like below:我有如下字符串:
ABCDEFGH
And i want to reverse it like below:我想像下面那样反转它:
GHEFCDAB
i have tried this:我试过这个:
var str = "ABCDEFGH";
var splitString = str.split("");
var reverseArray = splitString.reverse();
var joinArray = reverseArray.join("");
And return like below:并返回如下:
HGFEDCBA
I Know it wrong, and it just reverse it one way.我知道它错了,它只是以一种方式扭转它。 how to reverse string in javascript with that condition?
如何在该条件下反转javascript中的字符串? Many thank before.
之前多谢。
You can do this, using regex : let splited = str.match(/.{1,2}/g).reverse().join('');
您可以使用正则表达式执行此操作:
let splited = str.match(/.{1,2}/g).reverse().join('');
str.match(/.{1,2}/g)
to transform ABCDEFGH
to [AB, CD, EF, GH]
str.match(/.{1,2}/g)
将ABCDEFGH
转换为[AB, CD, EF, GH]
reverse()
to transform [AB, CD, EF, GH]
to [GH, EF, CD, AB]
reverse()
将[AB, CD, EF, GH]
为[GH, EF, CD, AB]
join('')
to transform [GH, EF, CD, AB]
to GHEFCDAB
join('')
将[GH, EF, CD, AB]
为GHEFCDAB
Using empty String
使用空字符串
const str = 'ABCDEFGH' var emptyStr = ''; for(let i = str.length; i>1; i--){ emptyStr += str.slice(i-2,i) i-- } console.log(emptyStr);
using empty Array
使用空数组
const str = 'ABCDEFGH' const rev = str.split(''); const revStr = [] for(let i = str.length; i >=1; i--){ const strPair = rev.slice(i-2,i).join(''); i--; revStr.push(strPair) } console.log(revStr.join(''))
Output: GHEFCDAB
输出:GHEFCDAB
class RevStr{
constructor(input){
this.str =input;
}
reverseStr() {
let str = this.str.match(/.{1,2}/g)
let end = str.length-1;
let start = 0;
while (start < end) {
let temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
console.log(str.join(''));
}
}
let s = new RevStr("abcdefgh");
s.reverseStr();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.