Heim > Web-Frontend > js-Tutorial > JavaScript-Simulation push_javascript-Trick

JavaScript-Simulation push_javascript-Trick

WBOY
Freigeben: 2016-05-16 15:12:02
Original
1242 Leute haben es durchsucht

Aufgabe: Zuerst habe ich eine Variable var arr = [0,1,2,3,4,5] definiert. Jetzt möchte ich die Push-Methode simulieren, um nach 5 etwas in dieses Array einzufügen. wir Was ist zu tun? Ich gebe Ihnen 5 Minuten Bedenkzeit. Bitte schauen Sie nicht nach unten, bevor Sie darüber nachgedacht haben.

Analyse: Wir wollen am Ende dieses Arrays etwas hinzufügen, oder? Der entscheidende Punkt ist, wie wir die letzte Position des Elements finden können. Betrachten wir zunächst nicht die letzte Position. Denken wir zunächst darüber nach, wie wir normalerweise auf den Inhalt eines Arrays zugreifen. Wenn wir auf einen Index zugreifen, der größer als dieser Array ist, ist er undefiniert Wenn es keinen solchen Index gibt, ist es einfach undefiniert. Wenn wir weiterhin 1 zum Index dieses Arrays hinzufügen, ist es dann die Position, nach der wir suchen. Obwohl diese Methode in Ordnung ist, habe ich eine Eine bessere Möglichkeit, das Längenattribut zu verwenden, ist die Länge dieses Arrays. Dann ist diese Länge der Index dieses Arrays + 1. Wir möchten diesem Index nur Inhalt hinzufügen.

Code:

var arr = [0,1,2,3,4,5];
arr.length 获取这个数组的最后位置
Nach dem Login kopieren

Aufgabe: Nachdem wir nun die letzte Position des Arrays ermittelt haben, können wir Inhalte hinzufügen. Zu wem hinzugefügt werden soll und wie hinzugefügt werden soll.

Analyse: Überlegen Sie nun, wie Sie Inhalte zu einem Array hinzufügen können? Die erhaltene Länge ist die Position, die wir hinzufügen möchten.

Synthese:

var arr = [0,1,2,3,4,5];
function Push(value){
arr[arr.length] = value;
}
Push(6);
console.log(arr); //[0, 1, 2, 3, 4, 5, 6]
Nach dem Login kopieren

Aufgabe: Obwohl Sie jetzt Inhalte hinzufügen können, können Sie jeweils nur einen hinzufügen. Was soll ich tun?

Analyse: Ich vermisse meinen alten Freund plötzlich. Dieser alte Freund kann uns helfen, einige sich wiederholende Dinge zu erledigen, also bitten wir ihn, uns zu helfen.

Code:

Analyse: Wie sollen wir das schreiben? Wie viel kleiner bin ich? Sind es genauso viele, wie wir hinzufügen? Wie viele Bits müssen wir also hinzufügen? Es scheint, dass wir es wirklich nicht wissen, aber ein alter Freund weiß, dass es sich um Argumente handelt, die die von uns übergebenen Parameter abrufen können, und dass es sich um ein Pseudo-Array handelt, was bedeutet, dass es auch das Längenattribut wie ein Array verwenden kann um die Parameter zu erhalten, die wir übergeben. Die tatsächliche Parameterlänge.

Code:

for(var i=0;i<arguments.length;i++){}
Nach dem Login kopieren

Analyse: Die Frage ist nun: Welchen Inhalt fügen wir wo hinzu? Zurück zu unserer Aufgabe: Wollen wir den Inhalt, den wir übergeben haben, an der letzten Position eines Arrays hinzufügen? Wir haben anscheinend gesagt, dass Argumente seinen Inhalt erhalten können.

Code:

var arr = [0,1,2,3,4,5];
function Push{
for(var i=0;i<arguments.length;i++){
arr[arr.length] = arguments[i];
}
}
Push(6,7,8);
Nach dem Login kopieren

Fertig.

Außerschulische Erweiterung: Freunde mit Grundkenntnissen
Ok, obwohl die Aufgabe abgeschlossen ist, besteht das Problem jetzt darin, dass dieser Code nur das Array arr bedienen kann. Wenn wir diese Funktion für alle Arrays bereitstellen möchten, müssen wir diese Methode zum Prototyp von Array hinzufügen.

var arr = [0,1,2,3,4,5];

Array.prototype.Push = function{
for(var i=0;i<arguments.length;i++){
this[this.length] = arguments[i];
}
}
arr.Push(1,2,3)
Nach dem Login kopieren

Ändern Sie das arr in diesem Artikel. Wenn Sie mehr darüber erfahren möchten, können Sie den Inhalt dieses Artikels nicht auswendig lernen.

Verwandte Etiketten:
Quelle:php.cn
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