Kaedah bukan sahaja boleh menyusun array mengikut abjad atau berangka, tetapi juga sewenang -wenangnya mengikut logik bersyarat tersuai. sort()
mata teras:
sort()
Fungsi sort()
Bagaimana fungsi berfungsi: sort()
→ Jika anda sudah mengetahui asas -asas, anda boleh melangkau bahagian ini.
Jika kaedah tidak mengambil parameter, array akan disusun dalam urutan kamus (urutan kamus, setiap nilai dianggap sebagai rentetan): sort()
var letters = ["R","O","F","L"]; letters.sort(); alert(letters); // 输出 ["F","L","O","R"]
adalah fungsi perbandingan yang mentakrifkan tingkah laku penyortiran berdasarkan nilai pulangannya. Fungsi perbandingan itu sendiri menerima dua parameter, biasanya dipanggil A dan B, yang mewakili kedua -dua nilai berbanding setiap operasi. Kemudian: sort()
lebih tinggi , tidak lebih rendah dari segi indeks berangka. Ia menggunakan perkataan "indeks" dengan cara yang sangat mengelirukan; Saya berharap di atas saya menyatakan keadaan dengan lebih jelas. Oleh itu, cara biasa untuk menggunakan fungsi perbandingan adalah untuk melaksanakan dan mengembalikan pengiraan mudah untuk menghasilkan hasil yang disusun yang dikehendaki. Sebagai contoh, jika fungsi kembali (a - b), jenis berangka akan dihasilkan:
kita boleh menerangkan ini dengan contoh nilai: kerana a = 8 dan b = 5, maka (a - b) == 3;
var numbers = [8,5]; numbers.sort(function(a, b) { return a - b; }); alert(numbers); // 输出 [5,8]
var letters = ["R","O","F","L"]; letters.sort(); alert(letters); // 输出 ["F","L","O","R"]
kita juga boleh membuat fungsi perbandingan untuk menghasilkan penyortiran kamus dengan menentukan tiga perbandingan untuk menilai setiap pasangan rentetan -dalam istilah pengiraan, "A" kurang daripada "B", jadi kita boleh membandingkan secara langsung rentetan dan kemudian kembali satu daripada tiga nilai yang disusun:
var numbers = [8,5]; numbers.sort(function(a, b) { return a - b; }); alert(numbers); // 输出 [5,8]
Perhatikan bagaimana kita menukar setiap rentetan ke huruf kecil terlebih dahulu, yang memastikan kita mendapat jenis yang tidak sensitif (jika kita tidak, huruf atas dan huruf kecil akan disusun secara berasingan). Kami juga menetapkan hasil operasi ini kepada pembolehubah baru, kerana sesetengah pelayar tidak membenarkan parameter utama.
(kandungan berikut adalah sama dengan teks asal. Bahagian pendua ditinggalkan di sini untuk mengekalkan konsistensi dengan teks asal)
Penyortiran pelbagai dimensi Penyortiran Multi-Condition Memesan susunan objek Arahan mengenai Stable Sorting
Ringkasan: Ingat, tidak ada yang istimewa tentang fungsi perbandingan menyusun, ia hanya fungsi biasa yang melakukan operasi dan hasil pulangan. Anda boleh memuatkan data luaran, membuat elemen rendering ujian, atau melakukan bilangan operasi kompleks. Selagi fungsi kembali dengan betul - kurang daripada sifar, lebih besar daripada sifar atau sifar - maka tidak ada batasan khusus dalam proses pelaksanaan!
sumber imej kecil: [soren]
Soalan Lazim Mengenai Penyusun JavaScript Lanjutan (bahagian FAQ asal ditinggalkan, elakkan duplikasi)
Atas ialah kandungan terperinci Penyortiran yang canggih di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!