关于js sort排序方法

sort() 方法用于对数组的元素进行排序。

语法:arrayObject.sort(sortby);参数sortby可选。规定排序顺序。必须是函数。

当方法不带参数的时候,将按照字符编码顺序进行排序,如果想要对数字进行排序则需要编写相应的函数。

var arr = [1,5,10,100,400];

console.log(arr.sort()) --> [1,10,100,400,5];

这时候sort()方法则是根据ASCII码进行排序,将数组中的元素作为字符串处理,我们做一点小改动

var arr = [1,5,10,100,400];
function compare(a,b){
    return a- b;
}
console.log(arr.sort(compare)) --> [1,5,10,100,400];

如果数组中的元素是一个对象,也可以通过对象中的属性来排序

var arr = [
    {name:'HanMeiMei',age:18},
    {name:'LiLei',age:30},
    {name:'Peter',age:12}
]
function compare(a,b){
    return a['age'] - b['age'];
}

console.log(arr.sort()) --> 
[    
    {name:'HanMeiMei',age:18},
    {name:'LiLei',age:30},
    {name:'Peter',age:12}
]    

console.log(arr.sort(compare)) --> 
[    
    {name:'Peter',age:12},
    {name:'HanMeiMei',age:18},
    {name:'LiLei',age:30}
] 

 

posted @ 2017-02-21 11:44  zmc_change  阅读(429)  评论(0编辑  收藏  举报