Реверс рядка в джаваскрипт

Основна IT JavaScript задротство 16

Є якийсь рендомний рядок:

let str = 'abcdefg';

Найпростіше зробити реверс за допомогою метода split(), який розбиває на масив символів, метод reverse(), який зробе реверс та відповідно метод join() для поєднання в рядок елементів масиву:

const reverse1 = str.split('').reverse().join('');

Наступний варіант це split() і метод reduceRight(), який склеє літери справа наліво:

const reverse2 = str.split('').reduceRight((string, char) => string + char);

Ще один варіант використати метод forEach() і третій аргумент (цей же масив) + конкатенація символів:

let reverse3 = ''; str.split('').forEach((item, i, array) => reverse3 += array[array.length - 1 - i]);

Або ж варіант з циклом for, в якому ініціалізуємо дві лічильникі, один зростає на 1, інший зменшується на 1 + конкатенація:

let reverse4 = ''; for (let a = str.split(''), i = a.length - 1, k = 0; i > 0, k < a.length; i--, k++) reverse4 += a[i];

Без використання методів масиву, розбиваємо рядок на символи і збираємо їх у зворотньому порядку:

let reverse5 = ''; for(let i = 0, j = str.length - 1; i <= str.length - 1; i++, j--)reverse5 += str[j];