js實現的陣列自定義排序介紹

antzone發表於2017-04-01

本章節介紹一下如何實現javascript陣列元素自定義排序功能。

陣列物件提供了sort()方法,它能夠實現排序功能,下面就介紹一下它的用法。

在預設條件下,此方法是根據Unicode編碼的順序進行排序的。

看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var arr=[5,2,9,8];
console.log(arr[0].toString().charCodeAt(0));
console.log(arr[1].toString().charCodeAt(0));
console.log(arr[2].toString().charCodeAt(0));
console.log(arr[3].toString().charCodeAt(0));
console.log(arr.sort());

在預設條件下就是根據Unicode編碼大小的順序進行排序的。

如果陣列的元素是由多個字元組成,那麼首先會比較首字元的Unicode編碼大小,如果無法得出大小,則繼續第二個字元的比較。

下面再看如何實現自定義排序功能,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var list=[
{ 
  max:3, 
  avg:2, 
  min:1 
},
{ 
  max:10, 
  avg:15, 
  min:20 
},
{ 
  max:8, 
  avg:5, 
  min:2 
}]; 
function sortByField(x,y) { 
  return x.max - y.max; 
} 
console.log(list.sort(sortByField));

要想理解上面程式碼的排序結果,那麼就要了解sort()方法的功能,參閱javascript sort()一章節。

相關文章