Heim >Web-Frontend >js-Tutorial >Javascript-Array-Polydateien: Karte, Filter

Javascript-Array-Polydateien: Karte, Filter

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 06:47:25274Durchsuche

Javascript array polyfils: map, filter

Was sind Polyfills in Javascript?

Heutzutage unterstützt die neueste Version von JavaScript eine Vielzahl von Funktionen. Einige ältere Browser unterstützen jedoch nicht alle diese neuen Funktionen vollständig, was dazu führen kann, dass Ihre Logik in Browsern wie Internet Explorer (IE) nicht wie erwartet funktioniert.

Um die Kompatibilität mit älteren Browsern sicherzustellen, können Sie eine benutzerdefinierte Logik schreiben, die das Verhalten dieser neueren Funktionen nachahmt. Dieser benutzerdefinierte Code wird als „Polyfill“ bezeichnet.

In diesem Beitrag stelle ich Ihnen einige Beispiele für Polyfills für Array-Methoden zur Verfügung.

1. Karte:

    if (!Array.prototype.map) {
      try {
          Array.prototype.map = function(callback) {
              const arr = [];
              if (typeof callback !== "function") {
                  throw new Error("map callback is not a function");
              } else {
                  const len = this.length;
                  for (let i = 0; i < len; i++) {
                      const val = callback(this[i], i);
                      arr.push(val);
                  }
              }
              return arr;
          }
      } catch (err) {
          console.error(err);
      }
  }

Im obigen Code können Sie sehen, dass ich eine Kartenmethode zur Prototypenkette des Arrays hinzugefügt habe, wenn es keine native Kartenmethode gibt.

2. Filter:

if (!Array.prototype.filter) {
    try {
        Array.prototype.filter = function(callback) {
            const arr = [];
            if (typeof callback !== "function") {
                throw new Error("filter callback is not a function");
            } else {
                const len = this.length;
                for (let i = 0; i < len; i++) {
                    const val = callback(this[i], i);
                    if (val) {
                        arr.push(this[i]);
                    }
                }
            }
            return arr;
        }
    } catch (err) {
        console.error(err);
    }
}

Das obige ist der detaillierte Inhalt vonJavascript-Array-Polydateien: Karte, Filter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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