Vorwort
Das Sortieren eines Arrays ist eine sehr häufige Anforderung, insbesondere im Backend. Natürlich hat das Frontend auch diese Anforderung.
Natürlich gibt es fertige Methoden für die Array-Sortierung. Es ist die Sort () -Methode.
Schauen wir uns das zuerst an.
Standardantwort, Sortiermethode
var arr = [45,98,67,57,85,6,58,83,48,18]; console.log ('Original Array'); Konsole.log (arr) konsole.log ('Sortiermethode sortiert von klein bis groß small '); console.log (arr.sort (Funktion (a, b) {return ba}); console.log (' Sortiermethode sortiert von groß nach klein '); console.log (arr.sort (Funktion (a, b) {return ba});Die Betriebsergebnisse sind wie folgt:
Es sollte hier beachtet werden, dass diese Sortierung standardmäßig alphabetisch sortiert ist. Wenn wir Nummern anordnen, benötigen wir daher eine benutzerdefinierte Funktion.
Wie oben Code
Funktion (a, b) {return ab}
Dies ist eine Sortierfunktion von klein bis groß. Es sieht sehr einfach aus, aber ich verstehe nicht, also werde ich Sortierung nach meinen Ideen implementieren ~
Meine Antwort, für die Methode Sortierung
var arr = [45,98,67,57,85,6,58,83,48,18]; Konsole. klein '); console.log (' arrSortMaxtomin (arr)); // finde den kleinsten Wert in der Array -Funktion arrMinnum (arr) {var minnum = Infinity, index = -1; für (var i = 0; i <arr.Length; i ++) {if (Arr. {"minnum": minnum, "index": index};} // Das Ergebnis der Sortierung von klein nach groß in der Array -Funktion arrSortmintomax (arr) {var arrNew = []; var arrold = arr.concat (); for (var i = 0; i <arr.Length; i ++)))) {arrNew.push (arrMinnum (Arrold) .Minnum); Arrold.splice (arrMinnum (Arrold) .Index, 1)}; return (ArrNew);} // Finden Sie den größten Wert in der Array -Funktion arrmaxnum (arr) {var maxnum = idinfinity, index = -1; (arr [i]> maxnum) {maxnum = arr [i]; index = i;}}; return {"maxnum": maxnum, "index": index};} // Das Ergebnis der Sortierung von groß nach klein nach klein in der Array -Funktion arrsortmaxt (arr); arrDie Betriebsergebnisse sind in der folgenden Abbildung dargestellt
Wissenspunkte in meiner Methode
1. Wenn eine Funktion mehrere Daten zurückgeben muss, ist es bequemer, das JSON -Objektformat zu verwenden. Zum Beispiel die Rückgabe {"Minnum": Minnum, "Index": Index} oben;
2. Wenn Sie die Methode verwenden, um ein Array zu kopieren und auf Arrold zu arbeiten, wirkt sich dies auf das ursprüngliche Array von arr aus. Weil JavaScript in primitive Typen und Referenztypen unterteilt ist (ähnlich wie Java und C#). Array ist ein Referenztyp. Arrold erhält eine Referenz, sodass die Änderung an Arhold ARR betrifft .
Methoden zum Kopieren von Arrays (i) var arrold = arr.concat (); , Prinzip: Die concat () -Funktion ist eine Funktion, mit der mehrere Arrays gespleißt werden. Diese Schreibmethode entspricht dem Spleißen. Das heißt, kopieren.
Methoden zum Kopieren von Arrays (2) var arrold = arr.slice (0). Prinzip: Die Funktion Slice () ist eine Funktion, die Arrays abfängt. Das Festlegen des Wertes auf 0 besteht darin, sie alle abzufangen, was dem Kopieren entspricht.
3. Die Methode Splice () wird verwendet, um Elemente eines Arrays einzufügen, zu löschen oder zu ersetzen. Hier ist die Funktion, die seine gelöschten Standorte im Array verwendet.
4. Der Unterschied zwischen meiner Methode und meiner Sortiermethode.
Meine Methode ändert das ursprüngliche Array nicht, während die Sortierung eine Änderung basierend auf dem ursprünglichen Array ist.
Meine Methode gibt ein neues Array zurück, und das ursprüngliche Array ist weder verschwunden noch geändert. (Es scheint das gleiche zu sein wie der obige Satz ...)
5. Sortieren ist ein sehr, sehr grundlegender und sehr wichtiger Wissenspunkt bei der Programmierung. Die Sortierung der Sortierung ist relativ niedrig, wenn eine große Datenmenge ausgeführt wird. Natürlich ist die Effizienz meiner Methode auch sehr niedrig.
Dieser Artikel ist reproduziert unter: http://blog.csdn.net/fungleo/article/details/51555590
Das obige ist der gesamte Inhalt der Methode der JavaScript-Sortierarray-Sortierung und der Sortiermethode, die der Editor Ihnen vorgestellt hat. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht. Der Herausgeber wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung für die Wulin Network -Website.