根据数组中对象属性值排序
最近在工作中遇到要利用数组里面对象的某个属性值进行排序。
使用arr.sort()和函数结合的方法处理
1.需要处理的数据
var data=[{name:"xiaoming",age:13,weight:20,},{name:"liming",age:23,weight:21},
{name:"zhangming",age:8,weight:66}]
方法一
1.定义一个函数
function creatCompare(propertyName) {
return function (obj1,obj2) {
var value1=obj1[propertyName];
var value2=obj2[propertyName];
console.log(obj1)
if(value1<value2){
return -1
}else if(value1>value2){
return 1
}else {
return 0
}
}
}
3.处理数据,并打印展示
data.sort(creatCompare("age"))
console.log(data)
方法二
data.sort(function(a,b){
return a.age < b.age ? 1 : -1
});
console.log(data)