In Javascript, sto cercando di prendere una matrice iniziale di valori numerici e contare gli elementi al suo interno. Idealmente, il risultato sarebbe due nuove matrici, la prima che specifica ciascun elemento univoco e la seconda contenente il numero di volte in cui si verifica ciascun elemento. Tuttavia, sono aperto a suggerimenti sul formato dell'output.
Ad esempio, se l'array iniziale era:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
Quindi verranno creati due nuovi array. Il primo conterrebbe il nome di ciascun elemento univoco:
5, 2, 9, 4
Il secondo conterrebbe il numero di volte in cui l'elemento si è verificato nella matrice iniziale:
3, 5, 1, 1
Poiché il numero 5 viene visualizzato tre volte nella matrice iniziale, il numero 2 viene visualizzato cinque volte e 9 e 4 vengono visualizzati entrambi una volta.
Ho cercato molto una soluzione, ma nulla sembra funzionare e tutto ciò che ho provato da solo ha finito per essere ridicolmente complesso. Qualsiasi aiuto sarebbe apprezzato!
Grazie :)
ramda.js
per ottenere questo in modo semplice. const ary = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; R.countBy(r=> r)(ary)
arr.filter(x => x===5).length
ritornerebbe 3
per indicare che ci sono "3" nell'array.
if (arr.indexOf(value) == arr.lastIndexOf(value))