Лучшие способы перевернуть строку в JavaScript
1) Array.reverse:
Вы, наверное, думаете, подождите, я подумал, что мы переворачиваем строку, почему вы используете метод Array.reverse. Используя метод String.split, мы преобразуем нашу строку в массив символов. Затем мы меняем порядок каждого значения в массиве и, наконец, преобразуем массив обратно в строку, используя метод Array.join.
function reverseString(str) {
return str.split('').reverse().join('');
}
reverseString('dwayne');
2) Уменьшение цикла while:
Хотя это довольно многословное решение, оно имеет свои преимущества перед первым решением. Вы не создаете массив и просто объединяете строку на основе символов из исходной строки.
С точки зрения производительности, это, вероятно, даст лучшие результаты (хотя и не проверено). Для очень длинных строк прирост производительности может выпасть из окна.
function reverseString(str) {
var temp = '';
var i = str.length;
while (i > 0) {
temp += str.substring(i - 1, i);
i--;
}
return temp;
}
reverseString('dwayne');
3) Рекурсия
Мне нравится, как просто и понятно это решение. Вы можете ясно видеть, что методы String.charAt и String.substr используются для прохождения через другое значение, каждый раз вызывая себя, пока строка не станет пустой, из которой троичный будет просто возвращать пустую строку вместо использования рекурсии для вызова самой себя , Это, вероятно, даст вторую лучшую производительность после второго решения.
function reverseString(str) {
return (str === '') ? '' : reverseString(str.substr(1)) + str.charAt(0);
}
reverseString('dwayne');