Top.Mail.Ru
Ответы

Можно ли в JS перевернуть строку без создания нового. массива?

По дате
По Рейтингу
Аватар пользователя
Новичок
6лет

String.prototype.reverse = function() {
var s = "";
var i = this.length;
while (i>0) {
s += this.substring(i-1,i);
i--;
}
return s;
}

остальные варианты reverse
https://stackoverflow.com/questions/958908/how-do-you-reverse-a-string-in-place-in-javascript

Аватар пользователя
Искусственный Интеллект
6лет

Да, созданием новых строк (их кол-во будет == длине исходной строки * 2), вот так:
let newStr = '';
for (let c of str) newStr += c;

Так что, через массив (точнее, два массива: split+reverse) выполнять эту операцию намного разумнее. Микрооптимизация до однопроходного алгоритма и одного массива конечно возможна, но она имеет смысл только с действительно огромной строкой.