Всем доброго дня!
Сегодня разберем одну совсем несложную задачу.
Необходимо написать функцию, которая переворачивает строку.
Первый способ - с помощью встроенных методов String.prototype.split(), Array.prototype.reverse() и Array.prototype.join()
Метод split() принимает на вход строку и преобразует в массив, разбивая ее по разделителю;
Метод reverse() переварачивает элементы массива, первый становится последним, а последний первым;
Метод join() объединяет все элементы массива в строку.
И запишем все это в одну строку.
function revers(str) {
return str.split('').reverse().join('');
}
Второй способ - Переворот строки с помощью цикла For;
function revers(str) {
// создаем переменную в которой будет помещен результат;
let result = '';
// создаем цикл который будет , проходить по всем элементам строки с конца к началу
for (let i = str.length - 1; i >= 0; i--) {
result += str[i];
}
return result;
}
Третий способ - с помощью рекурсии;
Для этого решения мы будем использовать метод String.prototype.substr()
Метод substr() возвращает указанное количество символов из строки, начиная с указанной позиции. Если не указывать количество символов — вернет все символы, начиная с указанной позиции:
'hello'.substr(1); // 'ello'
function revers(str) {
if (str === '') {//условие выхода из рекурсии
return '';
}
else {
return revers(str.substr(1)) + str[0];
}
// или через тернарный оператор
return str === '' ? '' : revers(str.substr(1)) + str[0];
}