function countFig(str) { let arr = str.split(''); let newArr = []; let a = arr[0]; let sum = 0; for (let i = 0; i < arr.length; ++i) { if ((i = arr.indexOf(a, i)) === -1) break; newArr.push(i); } return newArr } console.log(countFig('dddmmmmccccaaamm')) Me he quedado con una tarea simple y no entiendo cómo tomar la decisión al respecto. Hay una condición: no use expresiones regulares. La tarea es escribir una función que cuente elementos similares de una cadena, de modo que si tenemos dddmmmmccccaaamm , la función devuelve d3m4c4a3m2 . En primer lugar, pensé en convertir una cadena en una matriz y usar el método de filter , pero no es así. Ahora pienso encontrar el primer elemento de la matriz y compararlo con cada elemento del ciclo, pero no sé qué hacer a continuación.