根据数组中对象属性值排序
最近在工作中遇到要利用数组里面对象的某个属性值进行排序。
使用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)

本文介绍了如何根据JavaScript数组中对象的特定属性值进行排序的两种方法。首先,通过定义一个比较函数`creatCompare`,该函数接受属性名作为参数,然后在排序时比较两个对象的指定属性值。另一种方法是直接在`sort()`函数内比较`age`属性。这两种方法都能有效地对数据进行排序,便于数据处理和展示。
3386

被折叠的 条评论
为什么被折叠?



