@Rimidbit

Как переместить 1 символ в конец строки?

Задача, написать функцию, которая принимает 1 аргумент (строку) и возвращает массив где первый элемент та же строка в верхнем регистре, а в каждом следующем первая буква перемещена в конец. Например [ROBOT, OBOTR ... TROBO]

function scrollingText(word) {
  let result = [];
  let wordBig = word.toUpperCase();

  result.push(wordBig);

  for (let i = 0; i <= wordBig.length; i++) {
    wordBig = wordBig.slice(1);
    wordBig += wordBig[i];
  }
  return result;
}

scrollingText('robot');
  • Вопрос задан
  • 566 просмотров
Решения вопроса 2
Maxsior
@Maxsior
loading...
Используется приём из динамического программирования - берёте переменную и на каждом шаге модифицируете её одним и тем же способо, результат записывается снова в эту же переменную. За счет этого происходит "движение".

function scrollingText(str) {
    const upper = str.toUpperCase();
    const result = [upper];

    let current = upper;
    for (let i = 1; i < upper.length; i++) {
        current = current.slice(1) + current[0];
        result.push(current)
    }

    return result;
}

scrollingText('robot');
Ответ написан
Alexandroppolus
@Alexandroppolus
кодир
function scrollingText(str) {
    const upper = str.toUpperCase().repeat(2);
    return [...str].map((c, i) => upper.substr(i, str.length));
}

scrollingText('robot');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы