var arr=[{id:1,name:'xx',age:18},{id:2,name:'xx',age:28},{id:3,name:'xx',age:32},{id:4,name:'xx',age:12},{id:5,name:'xx',age:23}]
function compare(key){
return function (o1,o2){
var a=o1[key],
b=o2[key];
return a-b
}
}
arr.sort(compare('age')) //compare传入数组内对象元素的key,再将函数传入数组的sort方法,这样就会根据这个key的值对数组进行排序
console.log(arr)
//打印结果: (根据了age的大小进行了排序)
- [Object, Object, Object, Object, Object]
- 0:Object
- age:12
- id:4
- name:"xx"
- __proto__:Object
- 1:Object
- age:18
- id:1
- name:"xx"
- __proto__:Object
- 2:Object
- age:23
- id:5
- name:"xx"
- __proto__:Object
- 3:Object
- age:28
- id:2
- name:"xx"
- __proto__:Object
- 4:Object
- age:32
- id:3
- name:"xx"
- __proto__:Object
- length:5