function RST(str){
let arr = str.split('');
let num = 1;
let result = '';
for(let i = 1; i < arr.length; i++){
if(arr[i] == arr[i-1]){
num++;
} else {
result += arr[i] + num;
num = 1;
}
}
return result;
}
console.log(RST('AABBDDDFFEGERTAAA')) //Должно получится A2B2D3F2E1G1E1R1T1A3
const count = str => [...str]
.reduce((acc, n, i, a) => (
a[i - 1] !== n && acc.push([ n, 0 ]),
acc[acc.length - 1][1]++,
acc
), [])
.flat()
.join('');
const count = str => str.replace(/(.)\1*/g, m => m[0] + m.length);
function RST(str){
let arr = str.split('');
let num = 1;
let result = '';
for(let i = 1; i < arr.length; i++){
if(arr[i] == arr[i-1]){
num++;
} else {
result += arr[i-1] + num; // тут была ошибка
num = 1;
}
}
// Нужно допечатать последнее накопление num
if(arr.length > 0)
result += arr[arr.length-1] + num;
return result;
}