In Javascript versuche ich, ein anfängliches Array von Zahlenwerten zu verwenden und die darin enthaltenen Elemente zu zählen. Im Idealfall wären das Ergebnis zwei neue Arrays, von denen das erste jedes eindeutige Element angibt und das zweite die Häufigkeit enthält, mit der jedes Element auftritt. Ich bin jedoch offen für Vorschläge zum Format der Ausgabe.
Zum Beispiel, wenn das ursprüngliche Array war:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
Dann würden zwei neue Arrays erstellt. Das erste würde den Namen jedes einzelnen Elements enthalten:
5, 2, 9, 4
Die zweite würde die Häufigkeit enthalten, mit der dieses Element im ursprünglichen Array vorkam:
3, 5, 1, 1
Da die Zahl 5 im anfänglichen Array dreimal vorkommt, kommt die Zahl 2 fünfmal vor und 9 und 4 erscheinen beide einmal.
Ich habe viel nach einer Lösung gesucht, aber nichts scheint zu funktionieren, und alles, was ich selbst ausprobiert habe, ist lächerlich komplex geworden. Jede Hilfe wäre dankbar!
Vielen Dank :)
ramda.js
dies auf einfache Weise erreichen. const ary = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; R.countBy(r=> r)(ary)
arr.filter(x => x===5).length
würde zurückkehren, 3
um anzuzeigen, dass das Array '3' fünf enthält.
if (arr.indexOf(value) == arr.lastIndexOf(value))