JavaScript-Programm zur Berechnung der Häufigkeit von Array-Elementen
Die Berechnung der Häufigkeit bedeutet, dass wir zählen müssen, wie oft ein Element in einem Array in einem bestimmten Array vorkommt. Wir können eine integrierte Datenstruktur wie Map verwenden, um die Häufigkeiten zu ermitteln, oder wir können das Array sortieren, um die Häufigkeiten der Array-Elemente zu ermitteln. Wir werden beide Methoden besprechen, schauen wir sie uns einzeln an -
Array sortieren
Bei dieser Methode sortieren wir das Array und prüfen, ob das aktuelle Element mit dem vorherigen Element identisch ist. Wenn das aktuelle Array nicht dasselbe ist, ist dies das neue Element und die Häufigkeit des vorherigen Elements, bis die Anzahl eine Variable ist we Dies wird verwendet, um die Anzahl der Elemente zu erhöhen.
Methode
Zuerst sortieren wir das Array mit der integrierten Sortiermethode.
Wir erstellen ein Array, das die Elemente im angegebenen Array und ihre jeweiligen Häufigkeiten speichert.
Wir erstellen eine Variable „count“, um die Anzahl der Vorkommen des aktuellen Elements zu speichern.
Wir durchlaufen das Array und prüfen bei jeder Iteration, ob das aktuelle Element dem vorherigen Element entspricht.
Wenn das aktuelle Element gleich dem vorherigen Element ist, erhöhen wir den Zählwert.
-
Wenn das aktuelle Element nicht mit dem vorherigen Element übereinstimmt, speichern wir die Anzahl des vorherigen Elements als Schlüsselpaar im Array, das die Häufigkeit des aktuellen Elements angibt.
李> Außerdem aktualisieren wir den Zählwert auf 1.
Nachdem wir das Array iteriert haben, speichern wir die Häufigkeit des letzten Elements des sortierten Arrays, da es nicht gespeichert wird und die Schleife endet.
Beispiel
Sehen wir uns den Code an, der die obige Methode implementiert, und fügen Sie ihn hinzu, um ihn besser zu verstehen.
// given array var arr = [ 1, 4, 5, 6, 2, 2, 2, 4, 5, 5, 4, 6, 9, 1, 2, 2, 3] // sorting the array arr.sort() var count = 1 for(var i = 1;i<arr.length; i++){ if(arr[i] == arr[i-1]) { count++; } else { console.log("The frequency of "+ arr[i-1] + " is: " + count); count = 1; } } console.log("The frequency of "+ arr[arr.length-1] + " is: " + count);
Zeitliche und räumliche Komplexität
Die zeitliche Komplexität des obigen Codes beträgt O(N*log(N)), da wir das Array sortiert haben und die erforderliche Zeit N*log(N) beträgt und wir das Array einmal durchlaufen haben, was O( N ) Zeit, wobei N die Anzahl der im angegebenen Array vorhandenen Elemente ist.
Die Speicherplatzkomplexität des obigen Codes beträgt O(1), da wir keinen zusätzlichen Speicherplatz verwenden. Wenn wir jedoch die Häufigkeit speichern möchten, ist etwas zusätzlicher Speicherplatz vorhanden, und das ist O(N).
Wie oft werden alle Elemente der Karte verwendet
Eine Karte ist eine Datenstruktur, die Werte in Form von Schlüsselpaaren speichert und die Daten später aktualisiert werden können. Das Hinzufügen oder Aktualisieren von Daten in der Karte nimmt logarithmische Zeit in Anspruch, erfordert jedoch kein Sortieren des Arrays, was bedeutet, dass wir das Array nicht wie im vorherigen Programm ändern müssen. Schauen wir uns zuerst die Methoden an und dann kommen wir zum Codierungsteil -
Methode
Zuerst erstellen wir die Karte mit dem neuen Schlüsselwort.
Wir werden das Array durchlaufen und jedes Element überprüfen.
Wenn das aktuelle Element in der Karte vorhanden ist, erhöhen wir den für das aktuelle Element gespeicherten Wert, also die Häufigkeit.
Wenn das Element nicht gespeichert ist, fügen wir es als Schlüssel zur Karte hinzu und geben ihm den Wert 1.
Nachdem wir das Array iteriert haben, können wir die in der Karte gespeicherten Werte als Schlüssel-Wert-Paare drucken.
Beispiel
Wir haben gesehen, wie der Code implementiert wird. Gehen wir nun zum Implementierungsteil, um den Code besser zu verstehen -
// given array var arr = [ 1, 4, 5, 6, 2, 2, 2, 4, 5, 5, 4, 6, 9, 1, 2, 2, 3] var map = new Map() for(var i = 0;i<arr.length; i++){ if(map.has(arr[i])){ var k = map.get(arr[i]); map.delete(arr[i]); map.set(arr[i],k+1) } else{ map.set(arr[i],1); } } console.log(map)
Zeitliche und räumliche Komplexität
Die zeitliche Komplexität des obigen Codes beträgt O(N*log(N)), wobei N die Größe des Arrays, Faktors oder Protokolls ist, je nachdem, wie die Zuordnung funktioniert. Der obige Code hat eine räumliche Komplexität von O(N) und erfordert das Speichern von Elementen in der Karte.
Die Verwendung einer Karte zum Finden von Frequenzen ist gut, da wir das gegebene Array nicht ändern müssen.
Fazit
In diesem Tutorial stellen wir ein JavaScript-Programm zur Berechnung der Häufigkeit von Array-Elementen vor. Die Berechnung der Häufigkeit bedeutet, dass wir zählen müssen, wie oft ein Element in einem Array in einem bestimmten Array vorkommt. Wir haben zwei Möglichkeiten gesehen, das gegebene Problem zu lösen: Eine besteht darin, die Elemente mithilfe der integrierten Sortierfunktion zu sortieren, und die andere darin, dies mithilfe der integrierten Kartendatenstruktur zu tun.
Das obige ist der detaillierte Inhalt vonJavaScript-Programm zur Berechnung der Häufigkeit von Array-Elementen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In Artikel werden JavaScript -Bibliotheken erstellt, veröffentlicht und aufrechterhalten und konzentriert sich auf Planung, Entwicklung, Testen, Dokumentation und Werbestrategien.

In dem Artikel werden Strategien zur Optimierung der JavaScript -Leistung in Browsern erörtert, wobei der Schwerpunkt auf die Reduzierung der Ausführungszeit und die Minimierung der Auswirkungen auf die Lastgeschwindigkeit der Seite wird.

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

In dem Artikel werden effektives JavaScript -Debuggen mithilfe von Browser -Entwickler -Tools, der Schwerpunkt auf dem Festlegen von Haltepunkten, der Konsole und der Analyse der Leistung erörtert.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

In dem Artikel wird erläutert, wie Quellkarten zum Debuggen von JavaScript verwendet werden, indem er auf den ursprünglichen Code zurückgegeben wird. Es wird erläutert, dass Quellenkarten aktiviert, Breakpoints eingestellt und Tools wie Chrome Devtools und WebPack verwendet werden.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.
