Rumah >hujung hadapan web >tutorial js >Kaedah pengisihan tatasusunan tersuai JavaScript_kemahiran javascript
Contoh dalam artikel ini menerangkan kaedah pengisihan tatasusunan tersuai JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Array mempunyai fungsi pengisihan sendiri, yang lebih mudah digunakan Satu perkara yang kita mesti jelas ialah asas untuk pengisihan Jika isihan tidak lulus dalam parameter, ia akan diisih mengikut susunan pengekodan aksara (. Pengekodan Unikod).
var a=["3","2","1"]; console.log(a[0].charCodeAt(0)); // 51 console.log(a[1].charCodeAt(0)); // 50 console.log(a[2].charCodeAt(0)); // 49 console.log(a.sort()); // ["1", "2", "3"] var a=["3","你","他"]; console.log(a[0].charCodeAt(0)); // 51 console.log(a[1].charCodeAt(0)); // 20320 console.log(a[2].charCodeAt(0)); // 20182 console.log(a.sort()); // ["3", "他", "你"] var a=["3","11","222"]; console.log(a.sort());// ["11", "222", "3"] // 多个字符的时候按照第一个字符的编码
Tetapi saya rasa perkara yang paling berguna tentang isihan ialah anda boleh menyesuaikan pengisihan Ini juga biasa dalam aplikasi praktikal, seperti menyusun tatasusunan objek. Sebagai contoh, jika anda ingin mengisih tatasusunan objek dalam satah linear mengikut medan tertentu di dalamnya, sudah tentu anda juga boleh menulis fungsi untuk melengkapkannya, tetapi saya fikir ia tidak semudah jenis.
var list = [ { max:3, avg:2, min:1 }, { max:10, avg:15, min:20 }, { max:8, avg:5, min:2 } ]; // 根据max字段对list对象进行排序,从小到大的顺序 // x,y就是要比较的数组的单个元素,这里就是list中的一个元素 // 排序方法主要是要提供一个比较大小的规则,换句话说也就是要说明谁大谁小 // 返回值为true or false function sortByField(x, y) { return x.max - y.max; } console.log(list.sort(sortByField));
Kesan operasi adalah seperti yang ditunjukkan di bawah:
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.