數據排序這塊應該是每一個程序員都會遇到的,而這篇文章主要是介紹js中sort排序如何使用得當,既然有現成的封裝的方法就用現成的,本身稍加修改就能完成,不須要再從新本身重頭到尾寫個函數,固然若是你們有這個興趣也能夠本身寫啦。前端
sort默認的排序方式爲字母排序,根據二十六個字母依次排列,單詞之間比較,則先比較第一個字母,若是第一個字母相同則比較第二個字母,以此類推。程序員
// 1.字母排序(sort默認排序) var arr = ["za","zb","a","b","xc","xa"]; arr.sort(); console.log(arr); // 運行結果:["a", "b", "xa", "xc", "za", "zb"]
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則表示降序。函數
最重要的仍是這個對象屬性排序,當後臺給咱們前端不少數據而且沒有排序時,咱們通常都是要從新進行排序,然後臺給的數據每每是好幾層,不會像前面那種簡單的就一個數組,這個時候就要用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()中參數必須是這個對象的屬性名稱,而你要比較的這些對象裏面,必定要有這個屬性名稱,不然會出錯。以上屬於我的總結,若是後期有什麼補充會再次發佈對象