Invertir una cadena en JavaScript

Invertir una cadena en JavaScript

Hemos proporcionado una cadena de entrada y la tarea es invertir la cadena de entrada en JavaScript. Es una pregunta muy común que se hace en un entrevista de javascript . Hay varios métodos para invertir una cadena en javascript , que se describen a continuación con ejemplos.

invertir-una-cadena-en-js

Invertir una cadena en JavaScript

Ejemplos:

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

Invertir una cadena en JavaScript

Existen enfoques comunes para invertir una cadena en JavaScript. Estos son:

Tabla de contenidos


1. Usando los métodos reduce() y split()

El método dividir() divide la cadena en una serie de caracteres y reducir() combina los caracteres en orden inverso usando el acumulador, invirtiendo efectivamente la cadena original.

Ejemplo: El siguiente código explica el uso del método de reducción y división para invertir una cadena.

JavaScript
function reverseString(str){  const reversedString =   str.split('').reduce((acc, char) =>char + cuenta, '');  console.log(cadenainvertida); } cadena inversa('techcodeview.com'); cadena inversa('JavaScript'); cadena inversa('TypeScript'); 

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

2. Uso de los métodos split(), reverse() y join()

El método dividir() divide la cadena en una matriz de caracteres, inversa() invierte la matriz y unirse() combina los caracteres invertidos en una nueva cadena, invirtiendo efectivamente la cadena original.

Ejemplo: El siguiente código utiliza los métodos split(), reverse() y join() para invertir una cadena en 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'); 

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

3. Uso del operador de extensión

El operador de extensión(…) se utiliza para distribuir los caracteres de la cadena str en elementos individuales. Luego se aplica el método reverse() para invertir el orden de los elementos, y join() se utiliza para combinar los elementos invertidos nuevamente en una cadena.

Ejemplo: El siguiente código utiliza el operador de extensión para dividir la cadena en una serie de caracteres e invertirla.

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

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

4. Uso de los métodos Array.form() y reverse()

El matriz.de() se utiliza para convertir la cadena en una matriz de caracteres individuales. El método inverso () Luego se aplica para invertir el orden de los elementos de la matriz. Finalmente, join() se usa para combinar los elementos invertidos nuevamente en una cadena.

Ejemplo: El siguiente ejemplo de código explica el enfoque anterior de manera práctica.

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

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

5. Uso del operador Spread y el método reduce()

El operador de propagación se puede utilizar para convertir una cadena en una matriz de caracteres y utilizar reducir() función en JavaScript para crear una cadena inversa a partir de una matriz concatenando la cadena en la dirección de avance.

Ejemplo: Este código implementa el operador de extensión y el método de reducción para invertir una cadena.

JavaScript
// Function to reverse string function reverseString(str) {  const strRev = [...str].reduce((x, y) =>y.concat(x));  console.log(strRev); } // Llamada a función ReverseString('techcodeview.com'); cadena inversa('JavaScript'); cadena inversa('TypeScript'); 

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

6. Uso del bucle for

El en bucle se utiliza para recorrer los caracteres de la cadena en orden inverso. Comenzando desde el último carácter (string.length – 1) y el carácter empujado a la nueva cadena inversa uno por uno.

Ejemplo: El siguiente código implementa el bucle for para invertir una cadena.

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); } // Llamada a función ReverseString('techcodeview.com'); cadena inversa('JavaScript'); cadena inversa('TypeScript'); 

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

7. Usando substring() y un índice decreciente

El subcadena () se utiliza para extraer el carácter en el índice i y agregarlo a la cadena invertida. Luego se disminuye el índice i.

Ejemplo: El siguiente código implementa el método substring() para invertir la cadena.

JavaScript
// Function to reverse string function reverseString(str) {  let reversedStr = '';  let i = str.length - 1;  while (i>= 0) { cadena invertida += str.substring(i, i + 1);  i--;  } console.log(reversedStr); } // Llamada a función ReverseString('techcodeview.com'); cadena inversa('JavaScript'); cadena inversa('TypeScript'); 

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

8. Usando recursividad

En un enfoque recursivo, una función se llama a sí misma repetidamente, tomando la subcadena del segundo carácter y concatenándola con el primer carácter, hasta llegar al caso base, invirtiendo la cadena.

Ejemplo: Este código implementa la recursividad para invertir una cadena en 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')); 

Producción
skeeGrofskeeG tpircSavaJ tpircSepyT 

9. Usando pila

En este enfoque utilizamos pila estructura de datos. Repetimos cada carácter de la cadena de entrada y lo colocamos en la pila. Luego, sacamos cada carácter de la pila uno por uno y los concatenamos para formar la cadena invertida.

Ejemplo: Este código usa la pila para invertir una cadena en 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) { invertido += pila.pop();  } retorno invertido; } console.log(reverseString('GeeksForGeeks')); 

Producción
skeeGroFskeeG