Task 13_1. Сжатие строки
UniLecsНаш подписчик @badamshin прислал целых два варианта решений задачи на сжатие строки. Первое решение основано на использовании крутой функции reduce в JS, второе решение использует регулярные выражения. Итак, поехали !
Задача: Повторю условия задачи: нужно написать функцию, ктр "сжимает" строку. Если полученная строка оказалась больше исходной, то вывести исходную. Символы встречающиеся 1 раз остаются без изменений (мое решение было без этого условия).
Например, дана строка "ZZZABBEEE", получить строку вида "Z3AB2E3", т.е. подставить счетчик вхождения символа.
Идея: мы также используем локальные счетчики для подсчета последовательности одинаковых символов, но в данной реализации мы используем функцию reduce в JS.
Array.prototype.reduce() - применяет функцию к аккумулятору и каждому значению массива (слева-направо), сводя его к одному значению.
Реализация: смотрим функцию на JS

https://gist.github.com/unilecs/93810f5924a67607c7fa8906759297d6
Идея и реализация: еще одно решение основано на использовании регулярок в JS, итак смотрим

https://gist.github.com/unilecs/98b044a5ca7fa8153f5cbf0c4258451d