Im vorherigen Artikel habe ich Ihnen die JavaScript-Sort-Array-Sortiermethode und die selbstimplementierte Sortiermethode vorgestellt und meine eigene Methode verwendet, um die Sortierung numerischer Arrays zu implementieren.
Natürlich ist es für mich bequemer, die Sortiermethode zu verwenden. In meinem vorherigen Blog -Beitrag habe ich jedoch nur eine numerische Sortierung implementiert, während die SROT -Methode standardmäßig Buchstaben sortieren kann! Mein Code kann nur Zahlen sortieren und er sieht immer noch schwach aus.
Ich muss also eine Sortiermethode hinzufügen, die Buchstaben oder sogar Chinesen sortieren kann.
Code implementieren
$(function(){var arr = ["Jack","Book","Fung",76,"Love","Mark","China","china","phone","Andy Lau"];console.log('original array');console.log('arr);console.log('for method sorted from small to groß '); Konsole.log (' arrSortmintomax (arr)); Konsole.log ('Für die Methode sortiert von groß nach klein'); Konsole. ""; für (var i = 0; i <arr.Length; i ++) {if (typeof (arr [i]) == "String") {if (arr [i] .charCodeat () <minnum) {minnum = arr [i] .Chodeat (); minvul = arr]; arr [i]; minvul = arr [i] index = i;}}}; return {"minnum": minvul, "index": index};} Funktion arrSortMintomax (arr) {var arrNew = []; var arrold = arr.concat (); for (var i = 0; {arrNew.push (arrMinnum (Arrold) .Minnum); Arrold.splice (arrMinnum (Arrold) .Index, 1)}; return (ArrNew);} Funktion arrmaxnum (Arr) {var maxnum = -Infinity, index = -1, maxmaxnum (var i = 0; (typeof (arr [i]) == "String") {if (arr [i] .charCodeat ()> maxnum) {maxnum = arr [i] .charCodeat (); maxvul = arr [i]; index = i;}} else {if (arr [i] maxnum) arraNum = arrnum = arrnum = arrnum = arrnum = arrau; i;}}}; return {"maxnum": maxvul, "index": index};} function arrSortMaxtomin (arr) {var arrNew = []; var arrold = arr.slice (0); for (var i = 0; i <arr.Length; i ++)) {arrNew.push (arrmaxnum (Arrold) .Maxnum); Arrold.splice (arrmaxnum (Arrold) .Index, 1);}; return (arrNew);}Der laufende Screenshot lautet wie folgt:
Sortierungsprinzip
Wenn es sich um eine Zahl handelt, wird es direkt mit der Zahl verglichen.
Wenn es sich um eine Zeichenfolge handelt, wird es mit Charcodeat () zum Sortieren in Unicode -Codierung konvertiert.
Unicode ist eine Ganzzahl zwischen 0 - 65535
Andere Anweisungen
Nach der normalen Sortierlogik sollte es sein: Zahlen sind kleiner als alle Buchstaben, Buchstaben sind kleiner als alle Chinesen, und Chinesen sollten nach dem ersten Buchstaben des Pinyin des ersten Charakters sortiert werden.
Mein Code wurde nicht implementiert, außer dass die Buchstaben kleiner sind als alle Chinesen.
Die Logik sollte ebenfalls verwirklicht werden, die chinesischen Zeichen in Zahlen herausfinden, Zahlen mit Arrays vergleichen, Buchstaben vergleichen, Chinesen mit Chinesen vergleichen und anschließend Arrays spleißen
Es kann etwas problematischer sein, die Initialen des ersten Briefes auf Chinesisch zu erhalten.
Chinesische Charaktere können direkt verglichen werden.
Wie im obigen Bild gezeigt, ist es sinnvoll, dass Zhang Fei der Boss ist. JavaScript machte Zhang Fei tausend Jahre später schließlich berühmt. Er hätte damals der Chef sein sollen! ~