Rumah >hujung hadapan web >tutorial js >Pelbagai kegunaan kemahiran function_javascript Sort().
Kaedah sort() digunakan untuk mengisih elemen tatasusunan. Terkandung dalam algoritma fail pengepala
Tatabahasa
arrayObject.sort(sortby)
参数 | 描述 |
---|---|
sortby | 可选。规定排序顺序。必须是函数。 |
Nilai pulangan
Rujukan kepada tatasusunan. Sila ambil perhatian bahawa tatasusunan diisih pada tatasusunan asal, tiada salinan dibuat.
1. Situasi lalai
Secara lalai, kaedah sort() mengisih item tatasusunan dalam tertib menaik. Untuk mencapai pengisihan, kaedah sort() memanggil kaedah penukaran toString() setiap item tatasusunan dan kemudian membandingkan rentetan yang terhasil untuk menentukan cara mengisih. Seperti berikut:
var values = ["orange","apple","banana"]; values.sort(); console.log(values);//结果["apple", "banana", "orange"]
Walau bagaimanapun, walaupun setiap item dalam tatasusunan ialah nilai berangka, kaedah sort() membandingkan rentetan, seperti berikut:
var values = [,,,,]; values.sort(); console.log(values);//结果[, , , , ]
2. Isih nilai
Kaedah sort() boleh menerima fungsi perbandingan sebagai parameter.
Fungsi perbandingan menerima dua parameter Jika parameter pertama harus sebelum parameter kedua, ia mengembalikan nombor negatif Jika dua parameter adalah sama, ia mengembalikan 0. Jika parameter pertama selepas parameter kedua, ia akan kembali nombor positif.
function compare(a, b){ return (a - b); }//按升序排列的比较函数 var values = [,,,,]; values.sort(compare); console.log(values);//结果[, , , , ]
3. Isih tatasusunan mengikut atribut objek
Mula-mula tentukan fungsi, yang menerima nama atribut, dan kemudian mencipta fungsi perbandingan berdasarkan nama atribut ini. Berikut ialah definisi fungsi ini:
function createComparisonFunction(propertyName){ return function(object, object){ var a = object[propertyName]; var b = object[propertyName]; if(a < b){ return -; }else if(a > b){ return ; }else{ return ; } } }//返回一个根据属性名创建的按升序排列的比较函数
Selepas fungsi dalaman menerima parameter propertyName, ia akan menggunakan notasi kurungan segi empat sama untuk mendapatkan nilai harta yang diberikan.
Fungsi di atas boleh digunakan seperti contoh di bawah.
var data = [{name:"Lily", age: }, {name:"Judy", age: }]; data.sort(createComparisonFunction("name")); console.log(data[].name);//Judy data.sort(createComparisonFunction("age")); console.log(data[].name);//Lily
Kandungan di atas ialah pelbagai kegunaan fungsi Sort() yang diperkenalkan oleh editor saya harap ia akan membantu anda!