使用JavaScript幾種簡單的排序

來源:互聯網
上載者:User

標籤:排序   javascrip   rtc   json   rip   code   john   local   總結   

  前幾天在工作碰到一個json對象排序的問題,一直認為JavaScript不能進行對象的排序,其實並不是,今天就來總結下常見的幾種簡單排序:

  第一類 純數字;

  var arrOld = [4,10,9,1,0,31];
  var arrNew = arrOld.sort(sortNum);  function sortNum (a,b){    return a-b;
  }  //輸出結果:[0, 1, 4, 9, 10, 31]

     sort()   方法用於對數組的元素進行排序,在原數組上進行排序,不產生副本。預設安裝字元編碼的順序進行排序,如果想按其他標準排序就需要提供比較函數,sortNum()  就是進行數字排序的函數。

  第二類 英文字母;

    var arrOld = ["John","Alley","Selina","Yuan","Delia"];    var arrNew = arrOld.sort();    //["Alley", "Delia", "John", "Selina", "Yuan"]

  這個就比較簡單了,sort排序即可

  第三類 中文漢字,還是直接上代碼;

    var arrOld = ["張三","李四","王五","安利","蔡敏"];    var arrNew = arrOld.sort(sortChiese);    function sortChiese(param1,param2){      return param1.localeCompare(param2);    }    //["安利", "蔡敏", "李四", "王五", "張三"]

  localeCompare() 按照本地特定的順序進行比較

  第四類 對象類的排序,也是本次的重點;

      var arrOld = {"msg":[{"num": 10,"姓名":"張三","性別":"男","年齡":15},
                 {"num": 1,"姓名":"李四","性別":"男","年齡":25},                 {"num": 22,"姓名":"王五","性別":"女","年齡":20},                 {"num": 9,"姓名":"馬六","性別":"男","年齡":15},                 {"num": 32,"姓名":"朱琪","性別":"女","年齡":15}]};   var arrNew = bubbleSort(arrOld.msg);   function bubbleSort(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i].num>arr[j].num){//如果前面的資料比後面的大就交換 var temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } return arr; }

  舉一反三,我們就能通過上面三種簡單的排序思路對姓名、性別、年齡等進行排序了。這裡引用的是冒泡排序,當然也可以使用其他排序方法。

  

使用JavaScript幾種簡單的排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.