• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Einen String in einem Array finden, der am meisten vorkommt

GELight

New member
Hi all,

Gibt es zufällig schon eine Funktion, über die ich genau den String aus einem Array herausfinde, der am meisten in einem Array vorkommt?
Bevor ich mir das selbst irgendwie schreibe, wollt ich wenigstens fragen, ob ihr sowas schon kennt.. :)

Beispiel:
PHP:
[
  "video",
  "video",
  "video",
  "text",
  "link",
  "video",
  "text",
  "text",
  "link"
]

Im Beispiel erwarte ich sozusagen "video" als Rückgabe.
Jemand eine Idee, wie man das elegant lösen könnte?

Gruß Mario
 
Ich würde alles in ein Hash packen und darüber die Anzahl zählen.
Also ungefähr:
Code:
var zaehler = {};
var groesster = {anzahl:0};
Schleife schleifenwort über die worte {
  zaehler[schleifenwort] ++;
  if (zaehler[schleifenwort] > groesster.anzahl) {
    groesster.anzahl = zaehler[schleifenwort];
    groesster.wort = schleifenwort;
  }
}
Am Ende gibt groesster.wort das häufigste Wort und groesster.anzahl dessen Vorkommen.
 
Das ++ funktioniert so leider nicht. Man muss erst testen, ob das Wort schon im Hash vorkommt und dann mit 0 (oder gleich 1) initialisieren. Sonst bekommt man immer NaN.
 
Zurück
Oben