Рубрики
Без рубрики

Реверсирование строки с помощью генератора

Другой в обратной струнной саге. Tagged with JavaScript, программирование.

Итак, есть этот Михиэль Хендрикс, который говорит: «Я ищу следующего человека, чтобы один на это», и поэтому я сам занимаюсь.

Здесь мы переворачиваем строку, используя Генератор обращаться назад через струну и ручную мяч каждого символа к массиву, который получает .join () Эд в конце.

function Bruce_ReverseGenerator(string) {
  function* reverseGenerator(string) {
    let str = string;
    let index = str.length - 1;
    while (true)
      yield str.charAt(index--);
  }

  let result = [];
  const gen = reverseGenerator(string); 
  var ch;
  while (ch = gen.next().value) {
    result.push(ch);
  }
  return result.join("");
}

Да, украшен для работы в тестовой раме и дал удивительно хорошие результаты, а именно:

C:\TMP>timer.ly /TIMES:1000
Sarah_ForOf                 1502.905 ticks
Bruce_CharAt                2646.537 ticks
Sarah_SplitReverseJoin      2715.699 ticks
Bruce_Recursive2            2786.771 ticks
Nathanael_SplitReverseJoin  3104.762 ticks
Bruce_Recursive1            3112.511 ticks
Theophanis_SplitFor         3208.017 ticks
Sarah_Reduce                3227.539 ticks
Theophanis_SplitFor_Bruced  3706.581 ticks
Sarah_Recursive             3810.085 ticks
Bruce_ArrayApplyMap         5318.65 ticks
Bruce_ReverseGenerator      7354.585 ticks
Bruce_MapSortMap            9637.046 ticks
Bruce_CharAt2               13913.316 ticks
Bruce_RegReverse            490151.264 ticks

Оригинал: “https://dev.to/bugmagnet/reversing-a-string-using-a-generator-pj9”