Как перевернуть строку в JS
Для того, чтобы перевернуть строку вначале нужно ее разбить с помощью метода split , затем перевернуть ее методом reverse и в конце объединить методом join . Смотрите пример:
let str = ‘abcde’; let res = str.split(»).reverse().join(»); console.log(res);
Результат выполнения кода:
Смотрите также
- метод split ,
который разбивает строку в массив по указанному разделителю - метод reverse ,
который изменяет порядок элементов в массиве на обратный - метод join ,
который сливает элементы массива в строку
Трепачёв Дмитрий © 2012-2024
t.me/trepachev_dmitry
doctor Brain
Для того, чтобы развернуть строку на JavaScript, существует несколько способов. Четыре из них мы разберем в этой статье.
Встроенный метод reverse
const str = "map"; const reverse = str.split('').reverse().join(''); console.log(reverse); // pam
Метод reduce
const str = "code" const reverse=[. str].reduce((prev,next)=>next+prev) console.log(reverse); //edoc
Цикл for
function reverseString(str) < let reverse = ""; for (const i = str.length - 1; i >= 0; i--) < reverse += str[i]; >return reverse; > console.log(reverseString('code')); //edoc
Цикл while
function reverseString(str) < const arr = [. str] let reverse= ""; while(arr.length)< reverse = reverse + arr.pop() >return reverse; > console.log(reverseString('code')); //edoc
Спасибо за внимание.
Новые публикации

JavaScript: сохраняем страницу в pdf

2021-07-12
HTML: Полезные примеры

2021-07-11
CSS: Ускоряем загрузку страницы

2021-07-10
JavaScript: 5 странностей

2021-07-10
JavaScript: конструктор сортировщиков
Категории
О нас
Frontend & Backend. Статьи, обзоры, заметки, код, уроки.
© 2021 dr.Brain .
мир глазами веб-разработчика
Строка в обратном порядке
Для того, чтобы перевернуть строку в обратном направлении нам понадобиться:
- Преобразуем строку в массив с помощью метода split(») , передав в качестве аргумента пустую строку, чтобы каждый символ строки был отдельным элементом массива.
- Далее используем метод reverse() , который меняет порядок элементов массива в обратном направлении.
- И последним действием собираем из массива строку с помощью метода join(») .
const str = 'строка'; // Преобразуем строку в массив const strToArr = str.split(''); // ['с', 'т', 'р', 'о', 'к', 'а'] // Разворачиваем элементы массива strToArr.reverse(); // ['а', 'к', 'о', 'р', 'т', 'с'] // Преобразуем массив в строку const newStr = strToArr.join(''); // акортс
Также этот способ можно записать в одну строку:
const str = 'строка'; const newStr = str.split('').reverse().join(''); // акортс
Способ 2: Использование цикла for
Во втором способе мы воспользуемся циклом for и пройдемся по строке начиная с конца, добавляя символы строки в новую переменную.
function reverseString(str) < let reversed = ''; for (let i = str.length - 1; i >= 0; i--) < reversed += str[i]; >return reversed; > const newStr = reverseString('строка'); // акортс
Способ 3: Использование рекурсии
Третий метод использует рекурсию для разделения строки на подстроку без первого символа и добавления этого символа в конец развернутой подстроки.
function reverseString(str) < if (str === '') < return '' >return reverseString(str.substring(1)) + str[0]; > const newStr = reverseString('строка'); // акортс
07 декабря 2023
Читайте также
- Случайное число в js
- Удаляем элементы массива
- Автоматическая высота textarea
- Как создать вкладки на JavaScript
- Индикатор скролла на JS
Курсы javascript
Читая статьи на Хабре иногда попадается что программистам на собеседованиях задают следующее задание.
Нужно создать функцию которая будет принимать любую текстовую строку и возвращать эту же строку, только в перевернутом виде. Тоесть передаем ‘Привет мир!’ получаем ‘!рим тевирП’.
Это задание задавалось для программистов знающих PHP или C++, но я подумал «А как бы я решил это используя JavaScript». Решение получилось очень легким.
А как бы Вы решили это задание на JavaScript ?
P.S. Свое решение выложу ближе к вечеру. Хотя уверен что его предложат одним из первых.
19.09.2011, 12:52
Регистрация: 10.07.2008
Сообщений: 3,873
function reverseStr(str) < return str.split("").reverse().join(""); >alert(reverseStr("Привет мир!"));
19.09.2011, 14:22
Регистрация: 29.06.2011
Сообщений: 445
Octane привел тривиальное (потому что очевидное) решение. Давайте подумаем, как еще можно это сделать. Просто ради фана. Хотя, видимо, самое правильное решение уже приведено, давайте поизвращаемся немного.
function reverseStr(str) < var newStr = '', i; for (i = str.length - 1; i >= 0; i--) < newStr += str.charAt(i); >return newStr; > alert(reverseStr('Привет мир!'));
Какие еще есть варианты функции reverseStr?
19.09.2011, 21:38
Люмус, Емаксос Developer!
Регистрация: 06.05.2010
Сообщений: 677
Хочу сказать что вначале это задание я решил следующим образом:
function reverse (data) < var letters = [], l = data.length; while (l--) < letters.push(data[l]); >return letters.join(''); > alert(reverse('Это обычный текст.'));
В обратном цикле со строки вытаскиваем символы и помещаем их в массив, после этот массив преобразуем в строку.
Немного поразмыслив решил что логичней использовать нативный метод который есть у массивов, reverse():
function reverse (str) < var letters = str.split(''); letters.reverse(); return letters.join(''); >alert(reverse('Привет мир, как дела!?'));
Ну и дальше оптимизация:
function reverse (str) < return str.split('').reverse().join(''); >alert(reverse('Привет мир, как дела!?'));
19.09.2011, 23:11
Кандидат Javascript-наук
Регистрация: 16.02.2011
Сообщений: 134
Вариант который предложил Octane — компактный, но вариант от ваый вроде как быстрее (почти в два раза)