对象排序,方法
function compare(prop) {
return function(obj1,obj2){
var v1 = obj1[prop],
v2 = obj2[prop];
return v1 > v2 ? 1 : v1 < v2 ? -1 : 0
}
}
var arr = [{
name: 'li',
age: 11
}, {
name: 'an',
age: 13
}, {
name: 'tian',
age: 10
},{
name:'erha',
age: 2
}]
arr.sort(compare('name')) //输出结果为根据姓名paixu
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。