Cómo contar el número de cada carácter único consecutivo de una cadena.
Case exampe: // Function Name : CountUniqueChar() // Input : String // Output : Array Object [{k: v}] // Example : // Input : “aaaasssiia” // output : [{“a”: 4}, {“s”: 3}, {“i”: 2}, {“a”: 1}]Usando matchAll() con una expresión regular y map() :
const count = (s) => [...s.matchAll(/(.)\1*/g)].map(([{length}, c]) => ({[c]: length})); console.log(count('aaaasssiia'));Use for loop para iterar sobre cada carácter en una cadena y comparar con el siguiente carácter para llevar la cuenta de los caracteres únicos consecutivos.
const input = "aaaasssiia"; const countChar = (str) => { const list = []; let count = 1; for (let i = 0; i < str.length; i++) { if (str[i] === str[i + 1]) { count++ } else { const obj = {}; obj[str[i]] = count; list.push(obj); count = 1; } } return list; } console.log(countChar(input))