js中sort總結

數據排序這塊應該是每一個程序員都會遇到的,而這篇文章主要是介紹js中sort排序如何使用得當,既然有現成的封裝的方法就用現成的,本身稍加修改就能完成,不須要再從新本身重頭到尾寫個函數,固然若是你們有這個興趣也能夠本身寫啦。前端

1.字母排序

sort默認的排序方式爲字母排序,根據二十六個字母依次排列,單詞之間比較,則先比較第一個字母,若是第一個字母相同則比較第二個字母,以此類推。程序員

// 1.字母排序(sort默認排序)
   var arr = ["za","zb","a","b","xc","xa"];
   arr.sort();
   console.log(arr);
  // 運行結果:["a", "b", "xa", "xc", "za", "zb"]

2.sort數字排序

sort()中參數能夠是方法函數,能夠升序和降序輸出結果。數組

//2.sort數字排序
  var array = [100,10,50,800,320,34,53];
    array.sort(function(a,b){
        //a-b升序,b-a降序
        return b-a;
    });
    console.log(array);
  //運行結果:[800, 320, 100, 53, 50, 34, 10]

注意:其中a,b都是表示這個數組裏面的元素,若是是a-b則表示升序,若是是b-a則表示降序。函數

3.數組對象排序

最重要的仍是這個對象屬性排序,當後臺給咱們前端不少數據而且沒有排序時,咱們通常都是要從新進行排序,然後臺給的數據每每是好幾層,不會像前面那種簡單的就一個數組,這個時候就要用sort中對象屬性排序了code

// 3.對象屬性排序
    var obj = [
        {name:"lucy", num:400},
        {name:"nancy", num:110},
        {name:"maria", num:200}
    ];
   obj.sort(compare("num"));
   console.log(obj);

   //數組對象屬性值排序
   function compare(property){
       return function(a,b){
           //value1 - value2升序
           //value2 - value1降序
           var value1 = a[property];
           var value2 = b[property];
           return value1 - value2;//升序
       }
   }

運行結果:
[
{name:"nancy", num:110},
{name:"maria", num:200},
{name:"lucy", num:400}
]
注意:compare()中參數必須是這個對象的屬性名稱,而你要比較的這些對象裏面,必定要有這個屬性名稱,不然會出錯。以上屬於我的總結,若是後期有什麼補充會再次發佈對象

相關文章
相關標籤/搜索