Heim >Web-Frontend >js-Tutorial >Javascript-Array-Polydateien: Karte, 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!