Lisez-le avant qu'il ne soit marqué comme doublon Désolé! Je n'ai pas pu trouver une meilleure description de la question

Quoi qu'il en soit, je faisais un programme simple qui inverse le mot donné (par exemple «mot» en «drow»). J'essayais d'abord de convertir la chaîne en tableau de caractères, puis d'imprimer chaque caractère à l'envers dans la console en utilisant la boucle for. Cependant, je dois enregistrer la valeur dans une chaîne maintenant que je n'arrive pas à comprendre. Voici le code ici:

 var answer = document.getElementById("ta").value;
 var arr = answer.split("");
      for(i=arr.length-1;i>=0;i--) { //minus 1 because index starts at 0
           str = arr[i];
           console.log(str); //it works but displays each character individually
           }

Je veux juste tous les caractères d'une chaîne. Veuillez aider! La brièveté de la réponse serait appréciée

0
RAZ0229 29 août 2020 à 10:02

3 réponses

Meilleure réponse

JavaScript contrairement à d'autres oops, fournit une fonction inverse héritée qui inverse le array . Une réponse à cela serait donc:

let arr = answer.split("") //note this creates an array with each char as element of array
arr = arr.reverse(); //this reverses the array
let string = arr.join(""); //this joins the array into a single string

Une autre méthode serait celle que vous essayez de faire, créez votre propre fonction inverse. Vous faites tout correctement mais il vous manque juste une étape, c'est-à-dire rejoindre le tableau, vous imprimez simplement chaque lettre du tableau et c'est la propriété de console.log que chaque console.log imprime sur une nouvelle ligne. Cela explique pourquoi vous obtenez tout cela dans une nouvelle ligne.

var answer = document.getElementById("ta").value;
 var arr = answer.split("");
var str ="";
      for(i=arr.length-1;i>=0;i--) { //minus 1 because index starts at 0
           str =str +  arr[i];
           }
console.log(str); //it should be outside the loop and print string once it has been formed

P.S: J'ai donné autant de détails que possible à ce sujet pour vous aider à démarrer mais c'est une question très basique et ne mérite pas d'être ici, vous devriez suivre quelques concepts de base de js sur mdn ou w3schools. De plus, recherchez vos problèmes sur Google avant de passer à stackoverflow.

0
Abhineet 29 août 2020 à 07:24

Vous pouvez le faire en

 var arr = answer.split('').join('');;
 let str = '';
 for(i=arr.length-1;i>=0;i--) {
      str += arr[i];
      console.log(arr[i]);
 }
console.log(str);
0
Amaarshall Yaswankar 29 août 2020 à 08:06

Si vous voulez mettre tous les caractères dans str, vous pouvez essayer de cette façon:

str= str+arr[i]

Ou essayez de cette façon:

var str = "";
arr.forEach(element => {str= str+element});
 console.log(str)
0
Volvo 29 août 2020 à 07:17