Chaîne Inversée Javascript

| | | | | | | | | | | | | | | | | | | | | | | | | |

L’un des premiers défis de code/algorithme que nous avons entrepris de résoudre en tant qu’ingénieurs logiciels et développeurs Web en herbe est de voir si nous pouvons comprendre comment inverser une chaaîne. N’oubliez pas qu’une chaaîne n’est qu’une collection de caractères et d’espaces. Ce que nous devons faire, c’est essayer d’inverser, par exemple, la chaaîne "Hello World!" et retournez "! dlroW olleH". Il existe plusieurs façons de résoudre ce problème et nous en couvrirons certaines ici dans cet article.

√âcrivez une fonction, reverseString, qui inverse une chaaîne et la renvoie. La chaaîne à inverser est fournie comme argument dans la fonction.

Solution n. 1: boucle For

La première et probablement l’une des solutions les plus simples est d’utiliser une boucle for et de revenir dans la chaaîne. Nous devrons instancier, ou créer, une variable qui contient la nouvelle chaaîne inversée lorsque nous passons chaque caractère de la chaaîne:

On assigne i au dernier index (qui est calculé quand on prend 1 de la longueur de la chaaîne) ‚áí c’est notre initialisation et il servira de premier index que nous examinerons. La deuxième partie de la boucle for est notre condition ‚áí qui indique à la boucle quand s’arrêter. La troisième et dernière partie de la boucle for est de savoir de combien notre i augmentera après la fin de la boucle et la condition est toujours vraie: I‚Äì prend essentiellement notre i et le réaffecte à - 1 ;

Au fur et à mesure que nous parcourons chaque itération, nous prenons chaque caractère dans str [i] et l’ajoutons à newStr. Nous retournons ensuite la newStr en dehors de notre boucle for et terminons la fonction.

Essayez vous-même dans l’éditeur de code:


< / body>

Solution n. 2: la méthode de mappage ES6 de JavaScript

JavaScript a une méthode de tableau intégrée qui était nouvelle pour ES6 appelée map . Il renvoie un nouveau tableau avec les valeurs spécifiées. La méthode map a trois paramètres: l’élément actuel, l’index de l’élément et une copie du tableau dont il provient. Nous utiliserons les deux derniers paramètres de la solution.

La première chose que nous devons faire est de diviser la chaaîne en un tableau en utilisant la méthode split () . Si nous divisons sur une chaaîne vide, la méthode nous donnera un tableau avec chaque caractère à l’intérieur. Nous allons donc utiliser ce nouveau tableau pour mapper ci-dessus.

Puisque nous voulons essentiellement échanger des index, nous devons déterminer l’index du caractère que nous voulons mettre à la place de l’index actuel. Ce sera le personnage que nous reviendrons.

Pour ce faire, nous trouvons la longueur du tableau, moins un car nous sommes un tableau de base zéro, puis nous soustrayons la position de l’index courant. Le tableau [swapIndex] que nous retournons prend essentiellement la place de l’index actuel. Cela nous donne un tableau de caractères inversé dans une chaaîne.

La dernière chose que nous devons faire est de joindre le tableau en une chaaîne et de la renvoyer.

Testez la solution dans l’éditeur de code !


< / body>

La chose importante à retenir est que map renvoie un nouveau tableau - nous ne modifions donc pas le str / array d’origine passé.

Solution n¬∞3: méthode JavaScript intégrée

Cette méthode pour résoudre ce problème de code utilise les fonctions/méthodes intégrées split(), reverse () et join () pour le résoudre dans ce one-liner:

Essayez d’exécuter le code ci-dessous et testez-la personnellement pour voir qu’elle fonctionne !

Essentiellement, ce que fait la méthode intégrée reverse () est map () (la méthode que nous avons décrite dans notre solution précédente) sous le capot ; cependant , muter le tableau d’origine au lieu d’en renvoyer un nouveau car il inverse en place. Si vous résolvent un problème mais plus grand, vous devrez peut-être faire une copie du tableau d’origine afin de pouvoir toujours accéder à l’original si nécessaire.

< /div>

Ce ne sont pas les seuls moyens définitifs de résoudre ce problème - ce ne sont que quelques-uns des moyens les plus populaires de le résoudre. Expérimentez et voyez si vous pouvez trouver d’autres solutions par vous-même dans l’éditeur de code ci-dessus. Modifiez le reverseString () fonction et rien d’autre si vous voulez le voir à l’écran.