Inhaltsverzeichnis
Array sortieren
Methode
Beispiel
Zeitliche und räumliche Komplexität
Wie oft werden alle Elemente der Karte verwendet
Fazit
Heim Web-Frontend js-Tutorial JavaScript-Programm zur Berechnung der Häufigkeit von Array-Elementen

JavaScript-Programm zur Berechnung der Häufigkeit von Array-Elementen

Sep 21, 2023 am 08:01 AM

用于计算数组元素频率的 JavaScript 程序

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);
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erstelle ich meine eigenen JavaScript -Bibliotheken? Wie erstelle ich meine eigenen JavaScript -Bibliotheken? Mar 18, 2025 pm 03:12 PM

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

Wie optimiere ich den JavaScript -Code für die Leistung im Browser? Wie optimiere ich den JavaScript -Code für die Leistung im Browser? Mar 18, 2025 pm 03:14 PM

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.

Was soll ich tun, wenn ich auf den Codendruck auf Kleidungsstücke für Front-End-Thermalpapier-Quittungen stoße? Was soll ich tun, wenn ich auf den Codendruck auf Kleidungsstücke für Front-End-Thermalpapier-Quittungen stoße? Apr 04, 2025 pm 02:42 PM

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 ...

Wer bekommt mehr Python oder JavaScript bezahlt? Wer bekommt mehr Python oder JavaScript bezahlt? Apr 04, 2025 am 12:09 AM

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.

Wie debugge ich den JavaScript -Code effektiv mithilfe von Browser -Entwickler -Tools? Wie debugge ich den JavaScript -Code effektiv mithilfe von Browser -Entwickler -Tools? Mar 18, 2025 pm 03:16 PM

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 Arrayelemente mit derselben ID mit JavaScript in ein Objekt? Wie fusioniere ich Arrayelemente mit derselben ID mit JavaScript in ein Objekt? Apr 04, 2025 pm 05:09 PM

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 ...

Wie verwende ich Quellkarten zum Debuggen, um den JavaScript -Code zu debuggen? Wie verwende ich Quellkarten zum Debuggen, um den JavaScript -Code zu debuggen? Mar 18, 2025 pm 03:17 PM

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.

Entmystifizieren JavaScript: Was es tut und warum es wichtig ist Entmystifizieren JavaScript: Was es tut und warum es wichtig ist Apr 09, 2025 am 12:07 AM

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.

See all articles