Necesito obtener una frecuencia en un conjunto de números y trabajar en la "clave" de la frecuencia, como verificar si las claves (como números) son consecutivas. Me sorprende que las claves sean de tipo "cadena". ¿Hay alguna manera de hacer que las claves tengan tipo "número"?
por supuesto, puedo comparar dos claves como if (parseInt(k2) == (parseInt(k1) + 1)) , pero eso es incómodo.
Gracias
let freq = {} //frequency let nums = [1,2,3] nums.forEach(n => { if (freq[n] === undefined) { freq[n] = 1 } else { freq[n] ++ } }) let uniq = Object.keys(freq) console.log(typeof uniq[0])En su lugar, puede usar un mapa, que puede tener claves de cualquier tipo, pero también es un poco detallado.
const freq = new Map();; const nums = [1, 2, 3] for (const num of nums) { freq.set( (freq.get(num) || 0) + 1 ); } const firstKey = [...freq.keys()][0]; console.log(typeof firstKey);