Преобразование символа в строку в Javascript

#javascript #arrays #for-loop #console #char

#javascript #массивы #для цикла #консоль #символ

Вопрос:

Прочитайте это, прежде чем оно будет помечено как дубликат
Извините! Я не смог придумать лучшего описания вопроса

В любом случае, я создавал простую программу, которая меняет заданное слово (например, «word» на «drow»). Я пытался сначала преобразовать строку в массив символов, а затем напечатать каждый символ в обратном порядке в консоли, используя цикл for. Однако теперь мне нужно сохранить значение в строке, которую я, похоже, не могу понять. Вот этот код:

  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
           }
  

Я просто хочу, чтобы все символы были в строке. Пожалуйста, помогите! Краткость в ответе была бы оценена

Комментарии:

1. Вы можете изменить строку, используя str.split('').reverse().join('')

Ответ №1:

JavaScript, в отличие от других oops, предоставляет унаследованную функцию reverse, которая переворачивает массив. Итак, одним из ответов на этот вопрос может быть:

 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
  

Другим методом был бы тот, который вы пытаетесь сделать, создайте свою собственную обратную функцию. Вы делаете все правильно, но просто пропускаете шаг, который заключается в присоединении к массиву, вы просто печатаете каждую букву массива, и это свойство console.запишите, что каждая консоль.log печатает в новой строке. Это объясняет, почему вы получаете все это в новой строке.

 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: Я рассказал об этом как можно подробнее, чтобы вы начали, но это очень простой вопрос, и он не заслуживает того, чтобы быть здесь, вы должны следовать некоторым базовым концепциям js в mdn или w3schools. Плюс погуглите свои проблемы, прежде чем переходить к stackoverflow.

Комментарии:

1. Спасибо и согласен! Я только начал изучать ванильный JavaScript из w3schools. Я получил чертежи этой программы из приложения JavaFX, которое я создал на Java, которое фильтрует «палиндромы» из словаря, а также не был знаком с унаследованными функциями в JS. Итак, я попытался закодировать его таким же образом, возможно, в этом и была проблема.

Ответ №2:

Если вы хотите поместить все символы в str, вы можете попробовать этот способ:

 str= str arr[i]
  

или попробуйте этот способ:

 var str = "";
arr.forEach(element => {str= str element});
 console.log(str)