Из этой строки(AAaaSSsbBbhhhKkKKKiiI) надо получить эту(A2S2K4) не использую методы(типо: sort(), map() и тому подобное)

Из этой строки(AAaaSSsbBbhhhKkKKKiiI) надо получить эту(A2S2K4) не использую методы(типо: sort(), map() и тому подобное)


Ответы (2 шт):

Автор решения: wololo

Например, так:

let str = "AAaaSSsbBbhhhKkKKKiiI"
let obj = {};
for (let symb of str)
    if (symb.toLocaleUpperCase() === symb)
        if (obj[symb])
            ++obj[symb]
        else
            obj[symb] = 1;
    
let res = "";
for (let key in obj)
    res += obj[key] > 1 ? key + obj[key] : "";

console.log(res);

→ Ссылка
Автор решения: CbIPoK2513

На будущее, задачи на собеседования выполняйте самостоятельно.

function test(str) {
  str = str.replace(/[a-z]/g, '').match(/([A-Z])\1+/g);
  let s = [];
  str.forEach(e => {
    s.push(e[0]+''+e.length);
  });
  return s.join('');
}

console.info(test('AAaaSSsbBbhhhKkKKKiiI'));

→ Ссылка