Odwróć ciąg w JavaScript

Odwróć ciąg w JavaScript

Podaliśmy ciąg wejściowy, a zadaniem jest odwrócenie ciągu wejściowego w JavaScript. Jest to bardzo częste pytanie zadawane w Wywiad JavaScript . Istnieją różne metody odwracania ciągu znaków JavaScript , które opisano poniżej wraz z przykładami.

odwróć ciąg znaków w js

Odwróć ciąg w JavaScript

Przykłady:

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

Odwróć ciąg w JavaScript

Istnieją typowe podejścia do odwracania ciągu znaków w JavaScript. To są:

Spis treści


1. Korzystanie z metod redukcji() i podziału().

The metoda podziału(). dzieli ciąg na tablicę znaków i zmniejszyć() łączy znaki w odwrotnej kolejności za pomocą akumulatora, skutecznie odwracając oryginalny ciąg.

Przykład: Poniższy kod wyjaśnia użycie metody redukcji i podziału w celu odwrócenia ciągu.

JavaScript
function reverseString(str){  const reversedString =   str.split('').reduce((acc, char) =>znak + wpis, '');  konsola.log(odwrócony ciąg); } ReverseString('techcodeview.com'); odwrotnyString('JavaScript'); ReverseString('TypeScript'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

2. Używanie metod split(), Reverse() i Join().

The metoda podziału(). dzieli ciąg na tablicę znaków, funkcja Reverse() odwraca tablicę, oraz dołączyć() łączy odwrócone znaki w nowy ciąg, skutecznie odwracając oryginalny ciąg.

Przykład: Poniższy kod wykorzystuje metody split(), Reverse() i Join() do odwrócenia ciągu znaków w 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'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

3. Korzystanie z operatora rozprzestrzeniania

The operator spreadu(…) służy do rozkładania znaków ciągu str na poszczególne elementy. Następnie stosowana jest metoda Reverse() w celu odwrócenia kolejności elementów, a metoda Join() służy do łączenia odwróconych elementów z powrotem w ciąg znaków.

Przykład: Poniższy kod używa operatora spreadu do podzielenia ciągu znaków na serię znaków i odwrócenia go.

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'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

4. Korzystanie z metod Array.form() i Reverse().

The Tablica.z() służy do konwersji ciągu znaków na tablicę pojedynczych znaków. The metoda odwrotna(). jest następnie stosowana do odwrócenia kolejności elementów w tablicy. Na koniec metoda Join() służy do łączenia odwróconych elementów z powrotem w ciąg znaków.

Przykład: Poniższy przykład kodu wyjaśnia praktycznie powyższe podejście.

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'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

5. Korzystanie z operatora Spread i metody redukcji().

The operatora spreadu można użyć do przekształcenia ciągu znaków w tablicę znaków i użycia zmniejszyć() funkcja w JavaScript, aby utworzyć ciąg odwrotny z tablicy poprzez połączenie ciągu w kierunku do przodu.

Przykład: Ten kod implementuje operator rozprzestrzeniania i metodę redukcji w celu odwrócenia ciągu.

JavaScript
// Function to reverse string function reverseString(str) {  const strRev = [...str].reduce((x, y) =>y.concat(x));  konsola.log(strRev); } // Wywołanie funkcji ReverseString('techcodeview.com'); odwrotnyString('JavaScript'); ReverseString('TypeScript'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

6. Korzystanie z pętli for

The dla pętli służy do iteracji po znakach ciągu w odwrotnej kolejności. Zaczynając od ostatniego znaku (str.length – 1) i znak po kolei przesuwany do nowego odwrotnego ciągu.

Przykład: Poniższy kod implementuje pętlę for w celu odwrócenia ciągu znaków.

JavaScript
// Function to reverse string function reverseString(str) {  let strRev = '';  for (let i = str.length - 1; i>= 0; i--) { strRev += str[i];  } konsola.log(strRev); } // Wywołanie funkcji ReverseString('techcodeview.com'); odwrotnyString('JavaScript'); ReverseString('TypeScript'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

7. Używanie metody substring() i indeksu malejącego

The podciąg () służy do wyodrębnienia znaku o indeksie i i dołączenia go do odwróconego ciągu. Następnie indeks i jest zmniejszany.

Przykład: Poniższy kod implementuje metodę substring() w celu odwrócenia ciągu.

JavaScript
// Function to reverse string function reverseString(str) {  let reversedStr = '';  let i = str.length - 1;  while (i>= 0) { odwróconyStr += str.substring(i, i + 1);  I--;  } konsola.log(odwróconaStr); } // Wywołanie funkcji ReverseString('techcodeview.com'); odwrotnyString('JavaScript'); ReverseString('TypeScript'); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

8. Stosowanie rekurencji

W podejściu rekurencyjnym funkcja wielokrotnie wywołuje samą siebie, pobierając podciąg z drugiego znaku i łącząc go z pierwszym znakiem, aż do osiągnięcia przypadku podstawowego, co powoduje odwrócenie ciągu.

Przykład: Ten kod implementuje rekurencję odwracającą ciąg znaków w 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')); 

Wyjście
skeeGrofskeeG tpircSavaJ tpircSepyT 

9. Korzystanie ze stosu

W tym podejściu używamy stos struktura danych. Wykonujemy iterację po każdym znaku ciągu wejściowego i umieszczamy go na stosie. Następnie wyjmujemy każdy znak ze stosu jeden po drugim i łączymy je, tworząc odwrócony ciąg.

Przykład: Ten kod używa stosu do odwrócenia ciągu w 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) { odwrócone += stack.pop();  } powrót odwrócony; } console.log(reverseString('GeeksForGeeks')); 

Wyjście
skeeGroFskeeG