Software

Come invertire una stringa in JavaScript [passo dopo passo]

Come invertire una stringa in JavaScript [passo dopo passo]

Un palindromo è una parola o un elenco di caratteri che si leggono allo stesso modo quando sono invertiti. Un buon esempio di ciò è la parola "RADAR".

Il modo più semplice per verificare la presenza di un palindromo in JavaScript è creare una copia della stringa originale, invertirla e quindi confrontarla. Se vuoi creare un algoritmo che lo faccia in modo efficace, dovrai imparare come invertire una stringa in JavaScript. In questa guida imparerai come fare.

Come si inverte una stringa con JavaScript?

1. Convertirlo in un array e invertirlo

  1. Dividi la tua stringa in un array di sottostringhe usando il Diviso() metodo dalla classe di oggetti String. Il metodo split richiede una stringa come argomento. In questo caso, utilizzerai una stringa vuota. Quindi il metodo dovrebbe assomigliare a questo:
    Diviso("")
  2. Invertire l'ordine dell'array utilizzando il inversione() metodo.
  3. Converti nuovamente l'array in una stringa utilizzando il aderire() metodo. Proprio come il metodo split, il metodo join richiede una stringa come argomento. Ancora una volta, utilizzerai una stringa vuota:
    aderire("")

Il modo migliore per implementare i passaggi precedenti è tramite una funzione. Ecco un rapido esempio di codice sorgente che puoi copiare, testare e modificare:




Il grande reverso!


Stringa corrente: "Inverti questa stringa!"


Inversione


function myFunction ()
var str = "Inverti questa stringa!";
var res = str.split (""); // Divide la stringa in una matrice di caratteri
res.reverse (); // Inverte l'ordine della matrice di caratteri
str = res.join ("");
document.getElementById ("demo"). innerHTML = str; // Allega la stringa alla demo HTML



Nell'esempio precedente, creiamo una funzione che inverte una stringa hardcoded e quindi vi imposta un elemento del documento. La funzione viene quindi chiamata da un pulsante denominato "Reverse".

Esistono numerosi modi per abbreviare e modificare questo codice. Ad esempio, invece di assegnare la stringa unita al file str variabile, puoi riassegnarla a res e quindi puntare l'elemento del documento HTML demo su di esso, ovvero.

res = res.join ("");
document.getElementById ("demo"). innerHTML = res;

In alternativa, puoi condensare tutti e tre i passaggi in un'unica riga:

var res = str.split (""). reverse (). join ("");

In ogni caso, i risultati dovrebbero essere gli stessi:


Vuoi imparare JavaScript ancora più velocemente? Scopri perché dovresti scaricare il codice JavaScript leggendo questo articolo!


2. Invertire la stringa in JavaScript utilizzando un ciclo for

  1. Crea una nuova variabile di stringa vuota che ospiterà la stringa invertita.
    var reverseString = "";
  2. Costruisci un ciclo for con le seguenti caratteristiche:
    • Inizializzatore: inizializza un contatore il cui valore è la lunghezza della stringa da invertire sottratta per 1.
    • Condizione: assicurati che il contatore sia maggiore o uguale a 0.
    • Iterazione: il contatore dovrebbe diminuire ad ogni ciclo riuscito.
    • Il corpo del ciclo for dovrebbe aggiungere un carattere dalla stringa originale a quella che diventerà la stringa invertita mentre si usa il contatore del ciclo for per impostare la posizione del carattere.
      for (var i = fwdStri.length - 1; i> = 0; i--) reverseString = newString + fwdStr [i]; 

Ancora una volta, dovresti applicare l'operazione sopra in una funzione all'interno dei tag di scripting. Sta a te decidere se includere JavaScript come file esterno o codice incorporato. Ecco come appare in azione la soluzione sopra:

   

Il grande reverso!

Stringa corrente: "Inverti questa stringa!"

Funzione inversa myFunction () var fwdString = "Inverti questa stringa!"; var reverseString = ""; for (var i = fwdString.length - 1; i> = 0; i--) reverseString + = fwdString [i]; // Alternativa a newString + fwdString [i] document.getElementById ("demo"). InnerHTML = reverseString;

Il codice sopra funziona scorrendo la stringa originale al contrario e la clona carattere per carattere. Se non sei interessato a trasmettere esplicitamente la tua stringa in un array, potresti trovare questa soluzione più adatta ai tuoi obiettivi.


3. Invertire la stringa in JavaScript utilizzando la ricorsione

  1. Crea una nuova funzione con una stringa come parametro, ad es.
    function reverseString (str) 
  2. All'interno del corpo della funzione, crea un file Se istruzione che controlla se la stringa passata alla funzione è vuota. Se vero, dovrebbe restituire una stringa vuota, ad es.
    if (str === "") return "";
  3. Aggiungi un'altra dichiarazione.
  4. Nel corpo dell'istruzione else, restituisce una chiamata ricorsiva al metodo corrente con una sottostringa del parametro stringa del metodo, a partire dal secondo carattere, cioè str.substr (1). Aggiungi la prima lettera della nuova sottostringa, ad es.
    altrimenti return reverseString (str.substr (1)) + str.charAt (0);

È necessario chiamare questo metodo da un'altra funzione responsabile della visualizzazione dei risultati. Il codice completo dovrebbe essere simile a questo:

   

Il grande reverso!

Stringa corrente: "Inverti questa stringa!"

Funzione inversa myFunction () var str = this.reverseString ("Reverse this String!"); document.getElementById ("demo"). innerHTML = str; funzione reverseString (str) if (str === "") return ""; altrimenti return reverseString (str.substr (1)) + str.charAt (0);

La ricorsione funziona in modo molto simile a un ciclo for, ma stai ingannando la logica di JavaScript affinché funzioni per te. Invece di aggiungere caratteri alla fine della stringa, la allega in primo piano con ogni ciclo. Tuttavia, i risultati sono più o meno gli stessi.

Gli esempi precedenti possono essere testati utilizzando il Blocco note di Windows e un browser web. Tuttavia, suggeriamo di utilizzare un editor di codice multipiattaforma o un ambiente di sviluppo integrato per risparmiare tempo.

Come invertire una stringa in un Javascript è una domanda comune di intervista. Pertanto, comprenderlo potrebbe essere fondamentale per il tuo successo come sviluppatore di software.

Tuttavia, facci sapere quale metodo ha funzionato meglio per te nei commenti qui sotto. Come sempre, grazie per aver letto.

Domande frequenti: ulteriori informazioni su JavaScript

Per correggere JavaScript void 0 in Chrome, dai un'occhiata alla nostra guida dettagliata agli errori Fix javascript: void (0).

Per correggere l'errore JavaScript nel processo principale, segui i metodi presentati nella nostra utile Correzione JavaScript nella guida al processo principale.

Il metodo splice in JavaScript aggiunge o rimuove elementi da un array.

Windows Blue Di cosa si tratta
Voci su Windows Blue circolano sul web da un po 'di tempo, per lo più alimentati dal fatto che alcuni sono delusi da Windows 8 e vogliono fortemente u...
Quante copie di Windows 8 ha venduto Microsoft?
O odiamo o amiamo Windows 8, siamo ancora curiosi di una cosa - solo quanti Redmond riuscì a vendere? Quante copie di Windows 8 ci sono in circolazion...
Microsoft aggiungerà Java come servizio di Oracle su Azure Cloud, Windows Server
Alla O'Reilly Open Source Convention (OSCON) a Portland, Oregon, Microsoft Open Technologies, la sussidiaria di Microsoft Corp Corporation insieme ad ...