JavaScript 反转字符串

JavaScript 反转字符串

在本文中,我们给出一个输入字符串,并且任务是将输入字符串反转。我们有多种方法可以在JavaScript中反转字符串,下面是一些具体示例。

示例:

Input: str = "Geeks for Geeks"  
Output:  "skeeG rof skeeG"  

Input: str = "Hello"  
Output: "olleH"  

以下是在JavaScript中反转字符串的一些常见方法:

  • 使用reduce()和split()方法
  • 使用split(),reverse()和join()方法
  • 使用spread operator
  • 使用Array.form()和reverse()方法
  • 使用spread operator和reduce()方法
  • 使用for循环
  • 使用substring()和递减索引
  • 使用递归

方法1:使用reduce()和split()方法

split()方法将字符串分割为字符数组,reduce()方法使用累加器以相反的顺序组合字符,有效地将原始字符串反转。

示例: 该示例演示了上述解释的方法。

const str = "Geeks for Geeks";
const reversedString = str.split("").reduce((acc, char) => char + acc, "");
console.log(reversedString);

输出

skeeG rof skeeG

方法2:使用split()、reverse()和join()方法

在这种方法中,split()方法将字符串分割成字符数组,reverse()方法将数组反转,join()方法将反转后的字符组合成一个新字符串,从而将原始字符串翻转。

示例: 这个示例展示了上面解释的方法。

// Function to reverse string
function ReverseString(str) {
    return str.split('').reverse().join('')
}
 
// Function call
console.log(ReverseString("Geeks for Geeks"))

输出结果:

skeeG rof skeeG  

方法3:使用扩展运算符

在这种方法中,扩展运算符…被用来将字符串str的字符扩展成独立的元素。然后应用reverse()方法来颠倒元素的顺序,使用join()将颠倒后的元素重新组合成字符串。

示例: 这个示例展示了上述解释的方法。

const str = "Geeks for Geeks";
const reversedStr = [...str].reverse().join("");
console.log(reversedStr);

输出

skeeG rof skeeG

方法4:使用 Array.from() 和 reverse() 方法

在这个方法中,使用 Array.from() 将字符串 str 转换成一个由单个字符组成的数组。然后,应用 reverse() 方法来反转数组中元素的顺序。最后,使用 join() 将反转后的元素合并成一个字符串。

示例: 在这个示例中,我们正在实现上述方法。

const str = "Geeks for Geeks";
const reversedStr = Array.from(str).reverse().join("");
console.log(reversedStr);

输出

skeeG rof skeeG

方法5:使用展开运算符和reduce()方法

在这个方法中,我们使用展开运算符将字符串转换为字符数组,并使用JavaScript中的reduce()函数通过在正向连接字符串的方式生成反向字符串。

示例: 此示例展示了上述说明的方法。

// Function to reverse the string
function ReverseString(str) {
 
    // Returning reverse string
    return [...str].reduce((x, y) => y.concat(x));
}
 
console.log(ReverseString("Geeks for Geeks"))

输出

skeeG rof skeeG

方法6:使用 for 循环

在这种方法中,使用 for 循环以逆序遍历字符串中的字符。从最后一个字符(str.length – 1)开始,循环递减 i 直到达到 0。在每次迭代中,将当前字符(str[i])添加到反转的字符串中。

示例: 在这个示例中,我们使用上述解释的方法。

const str = "Geeks for Geeks";
let reversedStr = "";
for (let i = str.length - 1; i >= 0; i--) {
    reversedStr += str[i];
}
console.log(reversedStr);

输出

skeeG rof skeeG

方法7:使用substring()和递减索引

在这种方法中,使用substring()方法提取索引i处的字符并将其附加到反转的字符串中。然后递减索引i。

示例: 在这个示例中,我们使用了上述解释的方法。

const str = "Geeks for Geeks";
let reversedStr = "";
let i = str.length - 1;
while (i >= 0) {
    reversedStr += str.substring(i, i + 1);
    i--;
}
console.log(reversedStr);

输出

skeeG rof skeeG

方法8:递归方法

在这种方法中,递归方法不断地调用自身,将字符串从第二个字符开始,与第一个字符连接起来,直到达到基本情况,实现字符串的反转。

示例: 在这个示例中,我们使用上面解释过的方法。

function reverseString(str) {
    if (str === "") {
        return "";
    } else {
        return reverseString(str.substr(1)) + str.charAt(0);
    }
}
const reversed = reverseString("Geeks for Geeks");
console.log(reversed);

输出

skeeG rof skeeG

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程