Ich bin neu in JavaScript, lerne und übe seit ungefähr drei Monaten und hoffe, dass ich Hilfe zu diesem Thema bekomme. Ich mache ein Pokerspiel und was ich versuche zu tun, ist zu bestimmen, ob ich ein Paar, zwei Paare, drei einer Art, vier einer Art oder ein volles Haus habe.
Beispiel: In [1, 2, 3, 4, 4, 4, 3]
erscheint 1 einmal, 4 erscheint dreimal und so weiter.
Wie könnte ich meinen Computer bitten, mir zu sagen, wie oft ein Array-Element erscheint?
Gelöst, hier ist das Endprodukt.
%Vor%Zeigen Sie Ihren Code und wir können Ihnen helfen herauszufinden, wo der Fehler aufgetreten ist
Hier ist eine einfache Implementierung (da Sie nicht den Code haben, der nicht funktioniert hat)
%Vor%countInArray könnte auch als
implementiert worden sein %Vor%Eleganter, aber vielleicht nicht so performant, da es ein neues Array erstellen muss.
Nun ..
%Vor%von hier: Zählen der Vorkommen von JavaScript-Array-Elementen
Oder Sie finden dort auch andere Lösungen.
Wenn Sie auf die Browser, die in letzter Zeit ausreichend sind, zugreifen, können Sie filter()
. (Die MDN-Seite bietet auch einen Polyfill für die Funktion.)
Sie können die Filterfunktion sogar folgendermaßen abstrahieren:
%Vor%Hier ist eine Implementierung von Juan's Antwort:
%Vor%Noch kürzer:
%Vor%Hier ist eine Implementierung, die den Prototyp des Array-Objekts verwendet und über eine zusätzliche Funktionalität verfügt, die die Länge zurückgibt, wenn kein Suchelement angegeben wird:
%Vor%Dies hat eine extrem einfache Verwendung und ist wie folgt:
%Vor%Tags und Links javascript arrays