Rumah >hujung hadapan web >tutorial js >Kaedah pengisihan tatasusunan tersuai JavaScript_kemahiran javascript

Kaedah pengisihan tatasusunan tersuai JavaScript_kemahiran javascript

WBOY
WBOYasal
2016-05-16 16:14:151477semak imbas

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.

Kenyataan:
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