Dalam artikel sebelumnya, saya memperkenalkan metode pengurutan array JavaScript dan metode sortir yang diimplementasikan sendiri kepada Anda, dan menggunakan metode saya sendiri untuk mengimplementasikan penyortiran array numerik.
Tentu saja, dalam penggunaan aktual, lebih nyaman bagi saya untuk menggunakan metode Sort. Namun, dalam posting blog saya sebelumnya, saya hanya menerapkan penyortiran numerik, sedangkan metode SROT dapat mengurutkan huruf secara default! Kode saya hanya bisa mengurutkan angka, dan masih terlihat lemah.
Jadi, saya harus menambahkan metode penyortiran yang dapat mengurutkan huruf atau bahkan orang Cina.
Mengimplementasikan kode
$ (function () {var arr = ["jack", "book", "fung", 76, "love", "mark", "china", "cina", "phone", "andy lau"]; consol besar '); console.log (' arrsortMintomax (arr)); console.log ('untuk metode diurutkan dari besar ke kecil'); console.log ('arrsortmaxtomin (arr)); console.log (' array '); console.log (' arr);}); fungsi arrminum (array '); console.log (' arr);}); function arrminnum (array '); console.log (' arr);}); function arrminnum (array '); console (' arr);}); function arrminnum (array '); forining = nin = aRining (arr);}); function arrminnum (array'); (var i = 0; i <arr.length; i ++) {if (typeOf (arr [i]) == "string") {if (arr [i] .charcodeat () <minnum) {minnum = arr [i] .charcodeat (); Minvul = arr [i]; index = i; {i]. = arr [i] index = i;}}}; return {"minnum": minvul, "index": index};} fungsi arrsortMintomax (arr) {var arrnew = []; var arrold = arr.concat (); untuk (var i = 0; i <arr.length; i +++) {arrnew.push (arrminnum (arrold) .minnum); arrold.splice (arrminnum (arrold) .index, 1)}; return (arrnew);} fungsi arrmaxnum (arr) {var maxnum = -infinity, index = -1, -1, maxvul = "; (typeof(arr[i]) == "string") {if (arr[i].charCodeAt()>maxNum) {maxNum = arr[i].charCodeAt();maxVul = arr[i];index = i;}}else {if (arr[i]>maxNum) {maxNum = arr[i];maxVul = arr[i];index = i;}}};return {"maxnum": maxvul, "index": index};} function arrsortmaxtomin (arr) {var arrnew = []; var arrold = arr.slice (0); untuk (var i = 0; i <arr.length; i ++) {arrnew.push (arrmaxnum (arrold) .maxnum); arrold.splice (arrmaxnum (arrold) .index, 1);}; return (arrnew);}Tangkapan layar yang sedang berjalan adalah sebagai berikut:
Prinsip penyortiran
Jika itu angka, secara langsung dibandingkan dengan angka.
Jika itu adalah string, itu dikonversi ke pengkodean unicode menggunakan charcodeat () untuk penyortiran.
Unicode adalah bilangan bulat antara 0 - 65535
Instruksi lainnya
Menurut logika penyortiran normal, itu harus: Angka lebih kecil dari semua huruf, huruf lebih kecil dari semua orang Cina, dan orang Cina harus diurutkan sesuai dengan huruf pertama pinyin karakter pertama.
Kode saya belum diimplementasikan kecuali bahwa surat -surat itu lebih kecil dari semua orang Cina.
Logika juga harus direalisasikan, cari tahu karakter Cina dalam angka, bandingkan angka dengan array, bandingkan huruf dengan huruf, bandingkan bahasa Cina dengan Cina, dan kemudian array splice
Mungkin sedikit lebih merepotkan untuk mendapatkan inisial dari huruf pertama dalam bahasa Cina.
Karakter Cina dapat dibandingkan secara langsung.
Seperti yang ditunjukkan pada gambar di atas, masuk akal bagi Zhang Fei untuk menjadi bos. Javascript akhirnya membuat Zhang Fei terkenal seribu tahun kemudian. Dia seharusnya menjadi bos saat itu! ~