简体   繁体   English

如何在javascript中反转字符串

[英]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

You can take a look here 你可以看看这里

Pairing string reverse配对字符串反向

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM