En Javascript, estoy tratando de tomar una matriz inicial de valores numéricos y contar los elementos dentro de ella. Idealmente, el resultado sería dos nuevas matrices, la primera que especifica cada elemento único y la segunda que contiene el número de veces que ocurre cada elemento. Sin embargo, estoy abierto a sugerencias sobre el formato de la salida.
Por ejemplo, si la matriz inicial era:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
Luego se crearían dos nuevas matrices. El primero contendría el nombre de cada elemento único:
5, 2, 9, 4
El segundo contendría la cantidad de veces que ese elemento ocurrió en la matriz inicial:
3, 5, 1, 1
Debido a que el número 5 aparece tres veces en la matriz inicial, el número 2 aparece cinco veces y 9 y 4 aparecen una vez.
He buscado mucho una solución, pero nada parece funcionar, y todo lo que he probado ha resultado ser ridículamente complejo. ¡Cualquier ayuda sería apreciada!
Gracias :)
ramda.js
para lograr esto de la manera fácil. const ary = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; R.countBy(r=> r)(ary)
arr.filter(x => x===5).length
volvería 3
a indicar que hay '3' cinco en la matriz.
if (arr.indexOf(value) == arr.lastIndexOf(value))