logo

Inversați un șir în JavaScript

Am dat un șir de intrare și sarcina este să inversăm șirul de intrare în JavaScript. Este o întrebare foarte frecventă pusă în a Interviu JavaScript . Există diferite metode de a inversa un șir JavaScript , care sunt descrise mai jos cu exemple.

inversă-un-șir-în-js

Inversați un șir în JavaScript

Exemple:

  Input:   str = 'techcodeview.com'   Output:   'skeeGrofskeeG'    Input:   str = 'Hello'   Output:   'olleH'>

Inversați un șir în JavaScript

Există abordări comune pentru a inversa un șir în JavaScript. Acestea sunt:



Cuprins


1. Folosind metodele reduce() și split().

The metoda split(). împarte șirul într-o matrice de caractere și reduce() combină caracterele în ordine inversă folosind acumulatorul, inversând efectiv șirul original.

Exemplu: Codul de mai jos explică utilizarea metodei reduce și split pentru a inversa un șir.

Javascript
function reverseString(str){  const reversedString =   str.split('').reduce((acc, char) =>char + acc, '');  console.log(ReversedString); } reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>>>  
Ieșire
skeeGrofskeeG tpircSavaJ tpircSepyT>

2. Folosind metodele split(), reverse() și join().

The metoda split(). împarte șirul într-o matrice de caractere, reverse() inversează matricea și a te alatura() combină caracterele inversate într-un șir nou, inversând efectiv șirul original.

Exemplu: Codul de mai jos folosește metoda split(), reverse() și join() pentru a inversa un șir în JavaScript.

javascript
// Function to reverse string function reverseString(str) {  const strRev = str.split('').reverse().join('');  console.log(strRev); } // Function call reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>

Ieșire 3. Utilizarea Spread Operator

The operator de răspândire(…) este folosit pentru a răspândi caracterele șirului str în elemente individuale. Metoda reverse() este apoi aplicată pentru a inversa ordinea elementelor, iar join() este folosit pentru a combina elementele inversate înapoi într-un șir.

Exemplu: Codul de mai jos folosește operatorul de răspândire pentru a împărți șirul într-o serie de caractere și pentru a-l inversa.

javascript
// Function to reverse string function reverseString(str) {  const strRev = [...str].reverse().join('');  console.log(strRev); } // Function call reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>

Ieșire
skeeGrofskeeG tpircSavaJ tpircSepyT>

4. Folosind metodele Array.form() și reverse().

The Array.from() este folosit pentru a converti șirul într-o matrice de caractere individuale. The metoda reverse(). se aplică apoi pentru a inversa ordinea elementelor din matrice. În cele din urmă, join() este folosit pentru a combina elementele inversate înapoi într-un șir.

Exemplu: Exemplul de cod de mai jos explică abordarea de mai sus practic.

Javascript
// Function to reverse string function reverseString(str) {  const strRev = Array.from(str).reverse().join('');  console.log(strRev); } // Function call reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>

Ieșire
skeeGrofskeeG tpircSavaJ tpircSepyT>

5. Utilizarea Spread Operator și metoda reduce().

The operator de răspândire poate fi folosit pentru a converti un șir într-o matrice de caractere și pentru a utiliza reduce() funcție în JavaScript pentru a crea un șir invers dintr-o matrice prin concatenarea șirului în direcția înainte.

Exemplu: Acest cod implementează operatorul de răspândire și metoda reduce pentru a inversa un șir.

Javascript
// Function to reverse string function reverseString(str) {  const strRev = [...str].reduce((x, y) =>y.concat(x));  console.log(strRev); } // Apel de funcție reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>>>  
Ieșire
skeeGrofskeeG tpircSavaJ tpircSepyT>

6. Folosind for Loop

The pentru buclă este folosit pentru a itera prin caracterele șirului în ordine inversă. Începând de la ultimul caracter (lungimea str. – 1) și caracterul împins la noul șir invers, unul câte unul.

Exemplu: Codul de mai jos implementează bucla for pentru a inversa un șir.

Javascript
// Function to reverse string function reverseString(str) {  let strRev = '';  for (let i = str.length - 1; i>= 0; i--) { strRev += str[i];  } console.log(strRev); } // Apel de funcție reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>>>  
Ieșire 7. Folosind substring() și un Index de Decrementare

The subșir () este folosită pentru a extrage caracterul de la indexul i și pentru a-l adăuga la șirul inversat. Indicele i este apoi decrementat.

c# conține șir

Exemplu: Codul de mai jos implementează metoda substring() pentru a inversa șirul.

Javascript
// Function to reverse string function reverseString(str) {  let reversedStr = '';  let i = str.length - 1;  while (i>= 0) { reversedStr += str.substring(i, i + 1);  i--;  } console.log(reversedStr); } // Apel de funcție reverseString('techcodeview.com'); reverseString('JavaScript'); reverseString('TypeScript');>>>  
Ieșire 8. Utilizarea recursiunii

Într-o abordare recursivă, o funcție se autoapelează în mod repetat, luând subșirul de la al doilea caracter și concatenându-l cu primul caracter, până când se ajunge la cazul de bază, inversând șirul.

Exemplu: Acest cod implementează recursiunea pentru a inversa un șir în JavaScript.

Javascript
function strReverse(str) {  if (str === '') {  return '';  } else {  return strReverse(str.substr(1)) + str.charAt(0);  } } console.log(strReverse('techcodeview.com')); console.log(strReverse('JavaScript')); console.log(strReverse('TypeScript'));>

Ieșire 9. Folosind Stack

În această abordare folosim grămadă structură de date. Repetăm ​​fiecare caracter al șirului de intrare și îl împingem în stivă. Apoi, scoatem fiecare caracter din stivă unul câte unul și le concatenăm pentru a forma șirul inversat.

Exemplu: Acest cod folosește stiva pentru a inversa un șir în JavaScript.

JavaScript
function reverseString(str) {  const stack = [];  // Push each character onto the stack  for (let char of str) {  stack.push(char);  }  // Pop each character from the stack to reverse the string  let reversed = '';  while (stack.length>0) { inversat += stack.pop();  } întoarcere inversată; } console.log(reverseString('GeeksForGeeks'));>>>  
Ieșire