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

Пользователь

от jensen , в категории: JavaScript , 3 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gage , 2 года назад

@jensen 

В JavaScript есть несколько способов перевернуть строку. Один из способов состоит в том, чтобы использовать метод split() для разбиения строки на массив символов, а затем метод reverse() для реверсирования порядка элементов в массиве. Наконец, можно использовать метод join() для соединения элементов массива обратно в строку. Вот пример такого подхода:

1
2
3
4
let str = "Hello, world!";
let reversed = str.split('').reverse().join('');

console.log(reversed); // "!dlrow ,olleH"


Второй способ состоит в том, чтобы использовать метод reduce() для обработки строки посимвольно с конца к началу. Вот пример такого подхода:

1
2
3
4
let str = "Hello, world!";
let reversed = str.split('').reduce((accumulator, currentValue) => currentValue + accumulator, '');

console.log(reversed); // "!dlrow ,olleH"


Оба этих способа работают для любых типов строк, в том числе для мультибайтовых строк, таких как строки в кодировке UTF-8.

Пользователь

от rodger.botsford , 2 года назад

@jensen 

Чтобы перевернуть строку в JavaScript, можно использовать несколько способов.

  1. Использование цикла:
1
2
3
4
5
6
7
8
9
function reverseString(str) {
  let reversed = "";
  for (let i = str.length - 1; i >= 0; i--) {
    reversed += str[i];
  }
  return reversed;
}

console.log(reverseString("hello")); // "olleh"


  1. Использование метода split(), reverse() и join():
1
2
3
4
5
function reverseString(str) {
  return str.split("").reverse().join("");
}

console.log(reverseString("hello")); // "olleh"


  1. Использование рекурсии:
1
2
3
4
5
6
7
8
9
function reverseString(str) {
  if (str === "") {
    return "";
  } else {
    return reverseString(str.substr(1)) + str.charAt(0);
  }
}

console.log(reverseString("hello")); // "olleh"


Все эти методы дают одинаковый результат - перевернутую строку.