利用sort()方法将数组排序
语法:数组.sort( )
会将数据第一位按ASCII码排序,如果第一位相同,比较第二位
语法:数组.sort( 回调函数( a , b))
在sort()内传入一个回调函数,然后数组每两组传入回调函数,被形参a,b接受
简写:
arr.sort(function (a,b){//升序
return a-b;
});
arr.sort(function (a,b){//降序
return b-a;
});
完全代码:
//降序排列
arr.sort(function (a,b){
if (a > b) {
//a>b返回负数,a<b返回正数,a=b返回0时候按降序排列
//a>b返回正数,a<b返回负数,a=b返回0时候按升序排列
return -3;
}
if (a < b) {
return 2;
}
return 0;
})
进阶:
//将数组内对象按照年龄从小到大排序
var arr1 = [
{name:'小明',age:21,sex:'男'},
{name:'小红',age:18,sex:'女'},
{name:'小方',age:28,sex:'男'},
{name:'小栋',age:24,sex:'男'},
{name:'老王',age:31,sex:'男'},
{name:'小错',age:27,sex:'男'}
]
console.log(arr1);
//原理是根据return的正负排序a和b
arr1.sort(function (a,b){
//数组内两两比较,这两个形参是对象,取出年龄比较然后排序a和b
return a.age-b.age;
});
console.log(arr1);