Heim > Web-Frontend > js-Tutorial > Hauptteil

So implementieren Sie eine native Karte in js

王林
Freigeben: 2020-03-26 10:12:30
nach vorne
2801 Leute haben es durchsucht

So implementieren Sie eine native Karte in js

JS native Method Map-Implementierung, der Code lautet wie folgt:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="author" content="杨欣">
  <title>map</title>
</head>

<body>

  <script>
    Array.prototype.my_map = function (callback) {
      if (!Array.isArray(this) || !this.length || typeof callback !== &#39;function&#39;) {
        return []
      } else {
        let result = [];
        for (let index = 0; index < this.length; index++) {
          const element = this[index];
          result.push(callback(element, index, this))
        }
        return result
      }
    }

    let arr = [1, 2, 3, 4, 5]
    let res = arr.my_map((ele, i) => {
      return ele + 10
    })
    console.log(res)
  </script>
</body>

</html>
Nach dem Login kopieren

(Empfohlenes Tutorial: js-Tutorial)

Ergänzende Wissenspunkte:

Wir verwenden normalerweise die Methode der gekapselten Karte. Wenn wir eine Karte selbst kapseln, wie sollten wir sie implementieren?

Das gleiche Prinzip bleibt bestehen. Tatsächlich ist der Kern des Durchlaufens eines Arrays die for-Schleife. Daher wird unten eine Kartenmethode gekapselt.

Die Idee ist wie folgt:

1. Fügen Sie eine Methode zum Prototyp hinzu

2. Übergeben Sie eine Funktion und dies

3. Die von der Aufrufmethode übergebenen Parameter sind dieselben wie die der gekapselten Kartenmethode.

Array.prototype.fakeMap = function(fn,context) {
	let arr = this;
	let temp = [];
	for(let i=0;i<arr.length;i++){
		let result = fn.call(context,arr[i],i,arr);
		temp.push(result);
	}
	return temp;
}
Nach dem Login kopieren

Empfohlenes Video-Tutorial: Javascript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine native Karte in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
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!