如何在 TypeScript 中逆转字符串

如何在 TypeScript 中逆转字符串

本教程演示了TypeScript中逆转字符串的多种方法。起初,反转字符串问题看起来很容易,但如果有人要求你解释在TypeScript中反转字符串的不同方法呢?例如,如果面试官要求反转字符串的单词,而不是反转字符串的每个字符,怎么办?

在这里,我们将学习在TypeScript中逆转字符串的每个字符或单词。

在TypeScript中使用for-of循环来反转一个字符串

逆转字符串的天真方法是使用普通的for循环或for-of循环。这里,我们将使用for-of循环来迭代字符串,因为字符串是可迭代的。之后,我们可以在反转后的字符串的开头追加字符串的每个字符。

语法

在这里,我们给出了在TypeScript中使用for-of循环来反转字符串的语法。

let str = "String to reverse!"
let reverseString = "";
for (let char of str) {
   reverseString = char + reverseString;
}

算法

  • 第1步 – 定义字符串变量,并用字符串值初始化它。

  • 第2步–定义字符串类型的reverseString变量来存储反转的字符串,并以空字符串初始化它。

  • 第3步 – 使用for-of循环遍历字符串的每个字符。

  • 第4步–在reverseString变量的开头追加字符串的每个字符。

  • 第5步 – 当for循环的迭代完成后,我们可以得到存储在reverseString变量中的反转字符串。

示例 1

在这个例子中,我们简单地实现了上述算法,用for-of循环来反转一个字符串。在输出中,用户可以观察到for-of循环迭代完成后reverseString变量的值,这就是反转的字符串。

// Defining the string variable
let str: string = "Hello Users! Reverse this string!";

// variable to store reveresd string
let reverseString: string = "";

// Iterating through the string
for (let char of str) {

   // append every character of string to the start of the reverseString
   reverseString = char + reverseString;
}
console.log("The original string is " + str);
console.log("The reversed string is " + reverseString);
// Defining the string variable
var str = "Hello Users! Reverse this string!";

// variable to store reveresd string
var reverseString = "";

// Iterating through the string
for (var _i = 0, str_1 = str; _i < str_1.length; _i++) {
   var char = str_1[_i];
   // append every character of string to the start of the reverseString
   reverseString = char + reverseString;
}
console.log("The original string is " + str);
console.log("The reversed string is " + reverseString);

输出

上述代码将产生以下输出 —

The original string is Hello Users! Reverse this string!
The reversed string is !gnirts siht esreveR !sresU olleH

在TypeScript中反转字符串的每一个字

现在,我们要学会将字符串中的每一个字倒过来,而不是整个字符串。这个问题比上面的问题高一个层次,如果面试官想让面试变得刺激,或者想了解你的解决问题的能力,可以问这个问题而不是上面的问题。

在TypeScript中,我们不能使用反转方法来反转字符串。因此,我们将把字符串转换为一个字符数组,并使用reverse()方法来逆转字符数组。在这里,我们将使用一些内置的库方法,如split()、join()、map()和reverse()来反转字符串的每个字。

语法

在这里,我们已经给出了在TypeScript中反转字符串的每个字的语法。

let str1: string = "Reverse the every word of this string!";
let words: Array<string> = str1.split(" ");
let reversedWords: Array<string> = words.map((word) => {
   let charArray: Array<string> = word.split("");
   charArray.reverse();
   let reversed: string = charArray.join("");
   return reversed;
});
let reverseString: string = reversedWords.join(" ");

算法

  • 第1步–使用split()方法,将带有空格的字符串作为split()方法的参数传入,从字符串中创建每个字的数组。

  • 第2步–要反转每个单词,使用map()方法,该方法以回调函数为参数,返回反转的单词。

  • 第3步 – 在map方法的回调函数里面,将字拆成字符数组,并将其存储在charArray变量中。

  • 第4步 – 现在,使用reverse()方法反转charArray。

  • 第5步 – 接下来,使用join()方法连接charaArray,并将结果字符串存储在反转变量中。

  • 第6步 – 返回包含反转词的反转变量。

  • 第7步 – reverseWords变量包含反转的单词数组;为了使其成为一个字符串,使用join()方法。

示例 2

在下面的例子中,我们采取了一个字符串,并通过应用上述算法反转了该字符串的每个字。在输出中,我们可以观察到,我们的算法颠倒了单独的单词,而不是颠倒了整个字符串。

// String to reverse every word
let str1: string = "Reverse the every word of this string!";

// split string into words
let words: Array<string> = str1.split(" ");

// reverse every word of the words array
let reversedWords: Array<string> = words.map((word) => {

   // split the word into an array of character
   let charArray: Array<string> = word.split("");

   // reverse the character array
   charArray.reverse();

   // join the character array to make it word again
   let reversed: string = charArray.join("");

   // return the reversed word
   return reversed;
});
// join the array of words to make it one string
let reverseString: string = reversedWords.join(" ");
console.log("The normal string is " + str1);
console.log("The string after reversing the every word is " + reverseString);

编译时,它将生成以下JavaScript代码。

// String to reverse every word
var str1 = "Reverse the every word of this string!";

// split string into words
var words = str1.split(" ");

// reverse every word of the words array
var reversedWords = words.map(function (word) {

   // split the word into an array of character
   var charArray = word.split("");

   // reverse the character array
   charArray.reverse();

   // join the character array to make it word again
   var reversed = charArray.join("");

   // return the reversed word
   return reversed;
});
// join the array of words to make it one string
var reverseString = reversedWords.join(" ");
console.log("The normal string is " + str1);
console.log("The string after reversing the every word is " + reverseString);

输出

上述代码将产生以下输出 —

The normal string is Reverse the every word of this string!
The string after reversing the every word is esreveR eht yreve drow fo siht !gnirts

用户在本教程中学习了使用for-of循环逆转字符串的天真方法。用户还学会了反转字符串的每个字。然而,他们也可以实现第二种方法,使用for-of循环而不是内置方法来反转字符串。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程