Inhaltsverzeichnis
In der obigen Syntax übergeben wir die Callback-Funktion als Parameter der filter()-Methode.
In der obigen Syntax müssen wir die Array-Elemente von der Rückruffunktion der Methode map() zurückgeben.
Grammatik
In der obigen Syntax haben wir zuerst die filter()-Methode für das Array und dann die map()-Methode verwendet.
Danach verwenden wir die Methode map() und geben den Logarithmus jedes gefilterten Elements zurück. Der Benutzer kann sehen, dass das logarithmic_values-Array nur sechs Werte enthält, da wir alle negativen Werte im gefilterten Array entfernt haben.
Danach filtern wir mit der Methode filter() alle Mitarbeiter mit mehr als 3 Jahren Berufserfahrung. Als nächstes erhöhen wir mit der Methode map() die Gehälter aller Mitarbeiter um 50 % und speichern die neuen Gehälter im Array new_salaries.
Heim Web-Frontend js-Tutorial Wie verwende ich sowohl Map als auch Filter für ein Array mit JavaScript?

Wie verwende ich sowohl Map als auch Filter für ein Array mit JavaScript?

Aug 28, 2023 pm 08:29 PM

Die Methode „filter()“ wird verwendet, um die Werte im Array zu filtern, und die Methode „map()“ wird verwendet, um neue Werte basierend auf jedem Wert des alten Arrays einem anderen Array zuzuordnen.

如何使用 JavaScript 在数组上同时使用映射和过滤器?Manchmal müssen wir die Methoden filter() und map() gleichzeitig verwenden. Wir möchten zum Beispiel alle positiven Zahlen aus einem Array herausfiltern und ihre logarithmischen Werte einem neuen Array zuordnen

Bevor wir mit diesem Tutorial beginnen, werfen wir einen Blick auf die Einführung der Methoden filter() und map(). In diesem Tutorial erfahren Sie, wie Sie mithilfe von JavaScript sowohl Zuordnungs- als auch Filtermethoden für Arrays verwenden.

Syntax der array.filter()-Methode

Benutzer können die JavaScript-Methode filter() gemäß der folgenden Syntax verwenden.

array.filter((element, index, self) => {
   // write a condition to filter values.
   
   // based on the filtering condition, return a boolean value to include in the filtered array.
})
Nach dem Login kopieren

In der obigen Syntax übergeben wir die Callback-Funktion als Parameter der filter()-Methode.

Array.map()-Methodensyntax

Benutzer können die JavaScript-Methode „map()“ gemäß der folgenden Syntax verwenden.

array.map((element, index, self) => {
   // perform some action on the element of the array
   
   // return element for a new array
})
Nach dem Login kopieren

In der obigen Syntax müssen wir die Array-Elemente von der Rückruffunktion der Methode map() zurückgeben.

Parameter

Element
    – Beim Durchlaufen eines Arrays mit der filter()-Methode ist es das aktuelle Element des Arrays.
  • index
  • – Dies ist der Index des Elements im Array.
  • self
  • – Es ist ein Array für sich.
  • Verwenden Sie sowohl die Methoden array.map() als auch array.filter()

  • In diesem Abschnitt lernen wir, die Methoden filter() und map() zusammen auf einem einzigen Array zu verwenden.

Grammatik

Benutzer können die Methoden map() und filter() zusammen gemäß der folgenden Syntax verwenden.

let logarithmic_values = array.filter((element, index, self) => {
   
   // filtering condition
})
.map((element, index, self) => {
   // return value from map method
})
Nach dem Login kopieren

In der obigen Syntax haben wir zuerst die filter()-Methode für das Array und dann die map()-Methode verwendet.

Beispiel 1

Im folgenden Beispiel enthält das Array positive und negative Zahlen. Wir nehmen das Array als Referenz und rufen die Methode filter() für das Array auf, um alle positiven Werte im Array zu filtern. In der Callback-Funktion der filter()-Methode geben wir true zurück, wenn die Zahl größer als Null ist; andernfalls ein Fehler.

Danach verwenden wir die Methode map() und geben den Logarithmus jedes gefilterten Elements zurück. Der Benutzer kann sehen, dass das logarithmic_values-Array nur sechs Werte enthält, da wir alle negativen Werte im gefilterten Array entfernt haben.

<html>
<body>
   <h3>Using the <i> array.map() and array.filter() </i> methods together in JavaScript</h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      let array = [10, 20, -2, -4, 32, -6, -7, -8, 10, 11, -20]
      let logarithmic_values = array.filter((element, index, self) => {
         if (element > 0) {
            return true;
         }
         return false;
      })
      .map((element, index, self) => {
         return Math.log(element);
      })
      output.innerHTML += "The original array values are " + array + "<br/>";
      output.innerHTML += "The logarithmic_values are " + logarithmic_values + "<br/>";
   </script>
</body>
</html>
Nach dem Login kopieren

Beispiel 2

Im folgenden Beispiel erstellen wir ein Array von Objekten. Jedes Objekt im Array enthält die Mitarbeiter-ID, die Dienstjahre und das Gehalt.

Danach filtern wir mit der Methode filter() alle Mitarbeiter mit mehr als 3 Jahren Berufserfahrung. Als nächstes erhöhen wir mit der Methode map() die Gehälter aller Mitarbeiter um 50 % und speichern die neuen Gehälter im Array new_salaries.

In der Ausgabe kann der Nutzer zunächst das Gesamtgehalt nach der Erhöhung beobachten.

<html>
<body>
   <h2>Using the <i> array.map() and array.filter() </i> methods together in JavaScript </h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      
      // Creating the array of objects
      let array = [{ emp_id: "01", experience: 3, salary: 50000 },
      { emp_id: "02", experience: 7, salary: 30000 },
      { emp_id: "03", experience: 6, salary: 20000 },
      { emp_id: "04", experience: 5, salary: 10000 },
      { emp_id: "05", experience: 3, salary: 5000 },
      { emp_id: "06", experience: 2, salary: 40000 },
      { emp_id: "07", experience: 1.5, salary: 60000 },
      { emp_id: "08", experience: 2, salary: 70000 }]
      
      // use the forEach() loop method to find the total initial salary
      let total_initial_salary = 0;
      array.forEach((employee) => {
         total_initial_salary += employee.salary;
      })
      
      // filter all employees with experience greater than 3 years.
      let new_salaries = array.filter((element) => {
         if (element.experience > 3) {
            return true;
         }
         return false;
      })
      .map((element) => {
         
         // increase the salary of all employees by 50%, who have experienced greater than 3 years
         return element.salary * 0.5;
      })
      
      // find the sum of new salaries
      let new_salary = total_initial_salary;
      let total_increased_salary = new_salaries.forEach((salary) => {
         new_salary += salary
      })
      output.innerHTML += "The initial total salaries of all employees is " + total_initial_salary + "<br/>";
      output.innerHTML += "The total salaries of all employees after increasing salaries for some employees is " + new_salary + "<br/>";
   </script>
</body>
</html>
Nach dem Login kopieren

Benutzer haben anhand verschiedener Beispiele gelernt, wie die Methoden filter() und map() zusammen verwendet werden. Im ersten Beispiel verwenden wir die Methoden filter() und map() mit einem Zahlenarray. Im zweiten Beispiel haben wir auch gelernt, wie man die Methoden filter() und map() mit einem Array von Objekten verwendet.

Das obige ist der detaillierte Inhalt vonWie verwende ich sowohl Map als auch Filter für ein Array mit JavaScript?. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

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.

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.

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 kann man Parallax -Scrolling- und Element -Animationseffekte wie die offizielle Website von Shiseido erzielen?
oder:
Wie können wir den Animationseffekt erzielen, der von der Seite mit der Seite mit der offiziellen Website von Shiseido begleitet wird? Wie kann man Parallax -Scrolling- und Element -Animationseffekte wie die offizielle Website von Shiseido erzielen? oder: Wie können wir den Animationseffekt erzielen, der von der Seite mit der Seite mit der offiziellen Website von Shiseido begleitet wird? Apr 04, 2025 pm 05:36 PM

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Ist JavaScript schwer zu lernen? Ist JavaScript schwer zu lernen? Apr 03, 2025 am 12:20 AM

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Der Unterschied in der Konsole.log -Ausgabeergebnis: Warum unterscheiden sich die beiden Anrufe? Der Unterschied in der Konsole.log -Ausgabeergebnis: Warum unterscheiden sich die beiden Anrufe? Apr 04, 2025 pm 05:12 PM

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...

So implementieren Sie die Funktion des Ziell- und Drop-Einstellungsfunktion, ähnlich wie bei VSCODE in der Front-End-Entwicklung? So implementieren Sie die Funktion des Ziell- und Drop-Einstellungsfunktion, ähnlich wie bei VSCODE in der Front-End-Entwicklung? Apr 04, 2025 pm 02:06 PM

Erforschen Sie die Implementierung der Funktion des Bedien- und Drop-Einstellungsfunktion der Panel ähnlich wie VSCODE im Front-End. In der Front-End-Entwicklung wird VSCODE ähnlich wie VSCODE implementiert ...

See all articles