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 que chaque élément apparaît. Cependant, je suis ouvert à toute suggestion concernant 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 seront créés. Le premier contiendrait le nom de chaque élément unique :
5, 2, 9, 4
Le second contiendrait le nombre de fois que cet élément apparaît dans le tableau initial :
3, 5, 1, 1
Comme le nombre 5 apparaît trois fois dans le tableau initial, le nombre 2 apparaît cinq fois et le 9 et le 4 apparaissent tous 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 avéré ridiculement complexe. Toute aide serait la bienvenue !
Merci :)
10 votes
Si tout ce dont vous aviez besoin était de voir si une valeur n'apparaît qu'une seule fois (au lieu de deux ou plusieurs fois), vous pourriez utiliser la méthode suivante
if (arr.indexOf(value) == arr.lastIndexOf(value))
1 votes
Nous pouvons utiliser
ramda.js
pour y parvenir de manière simple.const ary = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; R.countBy(r=> r)(ary)
0 votes
arr.filter(x => x===5).length
rendrait3
pour indiquer qu'il y a "3" cinq dans le tableau.0 votes
Supposons que ma réponse soit un tableau d'objets