localeCompare按首字母排序漢字

sort() 方法用於對數組的元素進行排序。javascript

若是想按照其餘標準進行排序,就須要提供比較函數,該函數要比較兩個值,而後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具備兩個參數 a 和 b,其返回值以下:html

  • 若 a 小於 b,在排序後的數組中 a 應該出如今 b 以前,則返回一個小於 0 的值。
  • 若 a 等於 b,則返回 0。
  • 若 a 大於 b,則返回一個大於 0 的值。
<script type="text/javascript">

  function sortNumber(a,b)
  {
     return a - b
  }

  var arr = new Array(6)
  arr[0] = "10"
  arr[1] = "5"
  arr[2] = "40"
  arr[3] = "25"
  arr[4] = "1000"
  arr[5] = "1"

  document.write(arr + "<br />")
  document.write(arr.sort(sortNumber))

</script>

輸出:
10,5,40,25,1000,1
1,5,10,25,40,1000

localeCompare按首字母排序漢字java

var arr = [
    {name: 'a', phone: 1, value: "上海"},
    {name: 'b', phone: 5, value: "大連"},
    {name: 'd', phone: 3, value: "北京"},
    {name: 'c', phone: 4, value: "拉薩"}
];
 
arr.sort(function(a,b){
    return a.value.localeCompare(b.value)
});
//返回["北京", "大連", "拉薩", "上海", "天津"]