reverse string - перевернути рядок

Публікації

До ES2021 немає функції яка б перевертала рядок, натомість така функція є у масиві Array.reverse().

Тому спочатку перетворюємо рядок у масив, перевертаємо масив за допомогою Array.reverse() і перевернутий масив об'єднюємо у рядок методом Array.join().

function reverse(s){ return s.split("").reverse().join(""); } var text=reverse('JavaScript'); alert(text); function reverse(s){ return Array.from(s).reverse().join(""); } var text=reverse('JavaScript'); alert(text);

Також даний спосіб можна реалізувати за допомогою оператора розширення ....

function reverse(s){ return [...s].reverse().join(""); } var text=reverse('JavaScript'); alert(text);

Зверніть увагі якщо символ Unicode складається з декількох байтів то такий перевернення буде некоректне.

Також можна виконати перевернення радка за допомогою зворотнього проходження рядка

function reverse(s){ var res=''; for(var i=s.length-1;i>=0;i--) res+=s.substr(i,1); return res; } alert(reverse('JavaScript')); function reverse(s){ var res=''; for(var i=s.length-1;i>=0;i--) res+=s[i]; return res; } alert(reverse('JavaScript'));

Поміняти місцями елементи, дозволяє скоротити проходження рядка у 2 рази, так як проходимо до половини довжини. Перетворюємо рядок у масив і змінюємо місцями початкові і кінцеві елементи.

function reverse(s){ s=s.split(''); var tmp, len=s.length-1, l=Math.floor(s.length/2); for(i=0;i<l;i++){console.log(i, len-i, l) tmp=s[i]; s[i]=s[len-i]; s[len-i]=tmp; console.log(s) } return s.join(''); } alert( reverse('JavaScript') );
Адмін 2022-07-03 21:53:44

Тільки зареєстровані користувачі можуть писати коментарі.