Artikel ini menganalisis prinsip metode sortir array di JS. Bagikan untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Baru -baru ini, saya telah menggunakan array penyortiran dalam proyek Baidu. Tentu saja, saya secara alami memikirkan metode semacam array di awal. Metode ini sangat mudah diterapkan, secara kasar sebagai berikut:
Salinan kode adalah sebagai berikut: window.onload = function () {
var arr = [2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var arr2 = ["George", "John", "Thomas", "James", "Adrew", "Martin"];
fungsi arrrsort (a, b) {
kembali ab;
}
console.log (arr.sort (arrsort)); // Penyortiran nomor membutuhkan fungsi. Jika Anda ingin menyortir dari besar ke kecil, kembalikan ba;
console.log (arr2.sort ()); // huruf tidak diperlukan
}
Tetapi tiba -tiba saya memikirkan mengapa penggunaan semacam itu begitu sederhana dan apa prinsipnya? Jadi saya mencoba untuk tidak mengurutkan array dengan jenis. Prinsipnya adalah menemukan nilai minimum array dan memasukkannya ke dalam array baru, kemudian hapus nilai minimum dalam array, dan kemudian perbarui array dan terus mencari nilai minimum untuk memasukkannya. Loop ini adalah sebagai berikut:
Salinan kode adalah sebagai berikut: window.onload = function () {
var arr = [2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var len = arr.length;
console.log (arr.join (","));
var newarr = [];
untuk (var i = 0; i <len; i ++) {
newarr.push (Math.min.Amply (null, arr)); // Masukkan nilai minimum ke dalam array baru
arr.splice (r (arr, math.min.apply (null, arr)), 1); // Setelah dimasukkan, hapus nilai minimum segera
}
// Temukan posisi nilai minimum dalam array
fungsi r (s, v) {
untuk (k in s) {
if (s [k] == v) {
mengembalikan k;
}
}
}
Console.log (newarr.join (","))
}
PS: Ini hanya metode yang saya tulis. Prinsip semacam itu tidak boleh seperti ini. Anda juga dapat mengurutkan array menggunakan metode gelembung. Saya tidak akan menulis kodenya. Ada banyak dari mereka di internet. Tentu saja, kode di atas hanya mengurutkan array angka. Untuk penyortiran string, Anda dapat mempertimbangkan metode localecompare dari string.
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.