#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)