En Javascript, j'essaie de prendre un tableau initial de valeurs numériques et de compter les éléments qu'il contient. Idéalement, le résultat serait deux nouveaux tableaux, le premier spécifiant chaque élément unique et le second contenant le nombre de fois où chaque élément se produit. Cependant, je suis ouvert aux suggestions sur le format de la sortie.
Par exemple, si le tableau initial était:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
Ensuite, deux nouveaux tableaux seraient créés. Le premier contiendrait le nom de chaque élément unique:
5, 2, 9, 4
La seconde contiendrait le nombre de fois où cet élément s'est produit dans le tableau initial:
3, 5, 1, 1
Étant donné que le nombre 5 se produit trois fois dans le tableau initial, le nombre 2 se produit cinq fois et 9 et 4 apparaissent tous les deux une fois.
J'ai beaucoup cherché une solution, mais rien ne semble fonctionner, et tout ce que j'ai essayé moi-même s'est révélé ridiculement complexe. Toute aide serait appréciée!
Merci :)
ramda.js
pour y parvenir la voie facile. const ary = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; R.countBy(r=> r)(ary)
arr.filter(x => x===5).length
retournerait 3
pour indiquer qu'il y a «3» cinq dans le tableau.
if (arr.indexOf(value) == arr.lastIndexOf(value))