Heim > Web-Frontend > js-Tutorial > Hauptteil

Erstellen Sie Ihre eigene Karte, filtern und reduzieren Sie in JavaScript

王林
Freigeben: 2024-07-24 12:24:52
Original
728 人浏览过

Building Your Own Map, Filter, and Reduce in JavaScript

In diesem Beitrag tauchen wir tief in das Innenleben dieser JavaScript-Kraftpakete ein. Wir werden sie nicht einfach nutzen; Wir werden sie dekonstruieren und rekonstruieren und mithilfe von Array.prototype unsere eigenen benutzerdefinierten Karten-, Filter- und Reduzierungsmethoden erstellen. Durch die Analyse dieser Funktionen erhalten Sie unschätzbare Einblicke in ihre Abläufe und sind in der Lage, die Array-Manipulationsfunktionen von JavaScript geschickt zu nutzen.

Benutzerdefinierte Kartenmethode:

Die Map-Methode in JavaScript ist wichtig für die Transformation von Arrays, indem auf jedes Element eine Funktion angewendet wird. Erstellen wir eine benutzerdefinierte Kartenmethode mit Array.prototype:

// Custom map method for arrays
Array.prototype.customMap = function(callback) {
  const result = [];

  for (let i = 0; i < this.length; i++) {
    result.push(callback(this[i], i, this));
  }

  return result;
};

// Example usage:
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.customMap((num) => num * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]
Nach dem Login kopieren

In dieser benutzerdefinierten Kartenmethode durchlaufen wir jedes Element des Eingabearrays, wenden die bereitgestellte Rückruffunktion auf jedes Element an und übertragen das Ergebnis in ein neues Array, das dann zurückgegeben wird.

Benutzerdefinierte Filtermethode:

Die Filtermethode ermöglicht die Erstellung eines neuen Arrays mit Elementen, die eine bestimmte Bedingung erfüllen. Erstellen wir eine benutzerdefinierte Filtermethode mit Array.prototype:

// Custom filter method for arrays
Array.prototype.customFilter = function(callback) {
  const result = [];

  for (let i = 0; i < this.length; i++) {
    if (callback(this[i], i, this)) {
      result.push(this[i]);
    }
  }

  return result;
};

// Example usage:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.customFilter((num) => num % 2 === 0);
console.log(evenNumbers); // [2, 4]
Nach dem Login kopieren

In dieser benutzerdefinierten Filtermethode durchlaufen wir jedes Element des Eingabearrays, wenden die bereitgestellte Rückruffunktion auf jedes Element an und wenn der Rückruf „true“ zurückgibt, fügen wir das Element dem Ergebnisarray hinzu, das dann zurückgegeben wird.

Benutzerdefinierte Reduzierungsmethode:

Das Erstellen einer benutzerdefinierten Reduzierungsmethode erfordert die Verarbeitung eines Anfangswerts. Erstellen wir eine benutzerdefinierte Reduzierungsmethode mit Array.prototype:

// Custom reduce method for arrays
Array.prototype.customReduce = function(callback, initialValue) {
  let accumulator = initialValue === undefined ? this[0] : initialValue;
  const startIndex = initialValue === undefined ? 1 : 0;

  for (let i = startIndex; i < this.length; i++) {
    accumulator = callback(accumulator, this[i], i, this);
  }

  return accumulator;
};

// Example usage:
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.customReduce((accumulator, current) => accumulator + current, 0);
console.log(sum); // 15
Nach dem Login kopieren

Jetzt haben wir eine customReduce-Methode, die für jedes Array verwendet werden kann. Bei dieser benutzerdefinierten Reduzierungsmethode iterieren wir über das Array, beginnend entweder mit dem bereitgestellten Anfangswert oder mit dem ersten Element, wenn kein Anfangswert angegeben wird. Wir wenden die Rückruffunktion auf jedes Element an, aktualisieren den Akkumulatorwert bei jedem Schritt und geben schließlich das akkumulierte Ergebnis zurück.

Fazit:

Für eine kompetente JavaScript-Entwicklung ist es wichtig, die Funktionsweise der Array-Methoden von JavaScript wie Map, Filter und Reduce zu verstehen. Durch die Erstellung benutzerdefinierter Versionen dieser Methoden mithilfe von Array.prototype haben wir Einblicke in die zugrunde liegenden Prinzipien gewonnen. Diese benutzerdefinierten Methoden helfen nicht nur beim konzeptionellen Verständnis, sondern unterstreichen auch die Vielseitigkeit und Leistungsfähigkeit von JavaScript als Programmiersprache.

以上是Erstellen Sie Ihre eigene Karte, filtern und reduzieren Sie in JavaScript的详细内容。更多信息请关注PHP中文网其他相关文章!

Quelle:dev.to
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!