Rumah > hujung hadapan web > tutorial js > Penyortiran yang canggih di JavaScript

Penyortiran yang canggih di JavaScript

Jennifer Aniston
Lepaskan: 2025-03-08 00:40:09
asal
737 orang telah melayarinya

Sophisticated Sorting in JavaScript

mekanisme penyortiran JavaScript adalah mudah dan mudah digunakan, tetapi ia mengandungi fungsi yang kuat dan fleksibel.

Kaedah bukan sahaja boleh menyusun array mengikut abjad atau berangka, tetapi juga sewenang -wenangnya mengikut logik bersyarat tersuai. sort()

mata teras:

    fungsi JavaScript
  • adalah alat fleksibel yang menganjurkan array dalam pelbagai cara, termasuk permutasi tersuai yang ditakrifkan berdasarkan logik bersyarat. sort() Fungsi
  • berfungsi dengan membandingkan dua nilai (a dan b) dalam setiap operasi. Jika fungsi pulangan kurang daripada sifar, A adalah sebelum b; sort()
  • JavaScript menyokong penyortiran multi-dimensi dan penyortiran pelbagai syarat. Dalam penyortiran pelbagai dimensi, bandingkan nilai dalaman array;
  • JavaScript juga boleh menyusun tatasusunan objek. Oleh kerana perbandingan menjadi lebih kompleks, adalah disyorkan untuk menggunakan objek literal objek dan bukannya array multidimensi, kerana ini menjadikan fungsi perbandingan lebih mudah difahami.

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"]
Salin selepas log masuk
Salin selepas log masuk
Jika tidak, parameter kaedah

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()

    Jika fungsi
  1. pulangan kurang daripada sifar , a sebelum b
  2. Jika fungsi
  3. kembali lebih besar daripada sifar , maka B sebelum
  4. Jika fungsi
  5. mengembalikan sifar , kedudukan relatif A dan B tetap tidak berubah
  6. Spesifikasi
mentakrifkan peraturan ini dengan cara yang mengelirukan. Spesifikasi JavaScript memanggil keadaan penyortiran pertama "Menyusun B ke indeks yang lebih rendah daripada A". Tetapi ini sebenarnya bermaksud "pangkat B lebih rendah dalam", yang merupakan indeks

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]
Salin selepas log masuk
Salin selepas log masuk
Oleh itu, perintah berangka songsang boleh dihasilkan dengan membalikkan persamaan:

var letters = ["R","O","F","L"];

letters.sort();

alert(letters);    // 输出 ["F","L","O","R"]
Salin selepas log masuk
Salin selepas log masuk

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]
Salin selepas log masuk
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan