Heim > Web-Frontend > js-Tutorial > Polyfill für Map-, Filter- und Reduce-Methoden in Javascript

Polyfill für Map-, Filter- und Reduce-Methoden in Javascript

王林
Freigeben: 2024-08-16 06:18:12
Original
663 Leute haben es durchsucht

Polyfill for Map, Filter, and Reduce Methods in Javascript

Karte

Es gibt ein neues Array vom ursprünglichen Array zurück, indem einige Operationen (Rückruffunktion) für jedes Array-Element ausgeführt werden. Das ursprüngliche Array wird dadurch nicht verändert.

const nums = [1, 2, 3, 4];

const double = nums.map((num, i, arr) => num * 2);
console.log(double); // [2, 4, 6, 8]
Nach dem Login kopieren

Durchführung

Array.prototype.myMap = function (cb) {
  let output = [];
  for (let i = 0; i < this.length; ++i) {
    output.push(cb(this[i], i, this));
  }
  return output;
};

Nach dem Login kopieren

Filter

Es wird ein neues Array zurückgegeben, das nur die Elemente enthält, die die angegebene Bedingung erfüllen (d. h. für die der Rückruf „true“ zurückgibt). Das ursprüngliche Array bleibt unverändert.

const nums= [1, 2, 3, 4];

const greaterThan2 = nums.filter((num, i, arr) => num > 2);
console.log(greaterThan2); // [3, 4]
Nach dem Login kopieren

Durchführung

Array.prototype.myFilter = function (cb) {
  let output = [];
  for (let i = 0; i < this.length; ++i) {
    if (cb(this[i], i, this)) output.push(this[i]);
  }
  return output;
};
Nach dem Login kopieren

Reduzieren

Es ist wahrscheinlich das komplizierteste von allen dreien. Diese Methode verarbeitet die Elemente eines Arrays, um einen einzelnen Ausgabewert zu erzeugen.

const nums = [1, 2, 3, 4];

const sum = nums.reduce((acc, num) => acc + num, 0);

console.log(sum); // 10
Nach dem Login kopieren

Durchführung

Array.prototype.myReduce = function (cb, initialValue) {
  let accumulator = initialValue;
  for (let i = 0; i < this.length; ++i) {
    accumulator = accumulator!== undefined ? cb(accumulator, this[i], i, this) : this[i];
  }
  return accumulator;
};
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPolyfill für Map-, Filter- und Reduce-Methoden in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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