Перейти к содержимому

Как перевернуть строку в js

  • автор:

Как перевернуть строку в 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 

Спасибо за внимание.

Новые публикации

Photo by CHUTTERSNAP on Unsplash

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

Photo by David Everett Strickler on Unsplash

2021-07-12

HTML: Полезные примеры

Photo by Pankaj Patel on Unsplash

2021-07-11

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

Photo by Evan Fitzer on Unsplash

2021-07-10

JavaScript: 5 странностей

Photo by Markus Spiske on Unsplash

2021-07-10

JavaScript: конструктор сортировщиков

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.

© 2021 dr.Brain .
мир глазами веб-разработчика

Строка в обратном порядке

Для того, чтобы перевернуть строку в обратном направлении нам понадобиться:

  1. Преобразуем строку в массив с помощью метода split(») , передав в качестве аргумента пустую строку, чтобы каждый символ строки был отдельным элементом массива.
  2. Далее используем метод reverse() , который меняет порядок элементов массива в обратном направлении.
  3. И последним действием собираем из массива строку с помощью метода 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 — компактный, но вариант от ваый вроде как быстрее (почти в два раза)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *