sort()
方法會改變原數組,默認按unicode碼順序排列數組
咱們一般遇到的都是數組排序,對於對象數組固然也是能夠的,方法以下:函數
能夠選擇它的某一屬性進行比較code
var arr = [ { name:"小明", age:12 }, { name:"小紅", age:11 }, { name:"小剛", age:15 }, { name:"小華", age:13 } ]; function compare(p){ //這是比較函數 return function(m,n){ var a = m[p]; var b = n[p]; return a - b; //升序 } } arr.sort(compare("age")); console.log(arr); //結果以下: //[{name: "小紅", age: 11}, //{name: "小明", age: 12}, //{name: "小華", age: 13}, //{name: "小剛", age: 15}]
不使用比較函數會出現下面這種狀況,這並非咱們須要的結果對象
var arr = [2,3,13,17,4,19,1]; arr.sort() // 結果:[1, 13, 17, 19, 2, 3, 4]
若想對數組按照大小進行排序,則須要在sort()方法中添加比較函數排序
var arr = [2,3,13,17,4,19,1]; arr.sort(function(a,b){ // 這是比較函數 return b - a; // 降序 }) console.log(arr) // 結果:[19, 17, 13, 4, 3, 2, 1]