js-按照某个属性排序数组里的元素(sort排序法)
经常遇到我们按照某一属性排序的方法,比如按照年龄大小对成员排名,不多说,看例子
var data = [{
name: "jiang",
age: 22
}, {
name: "pander",
age: 21
}, {
name: "krome",
age: 25
},
{
name: "Koges",
age: 20
},];
对数组中的每一个对象按照属性age来排序,这里我们用到的是js的sort方法
//定义一个比较器
function compare(propertyName) {
return function(object1, object2) {
var value1 = object1[propertyName];
var value2 = object2[propertyName];
if (value2 < value1) {
return 1;
} else if (value2 > value1) {
return -1;
} else {
return 0;
}
}
}
//使用方法
data.sort(compare("age"));
console.log(data);
打印结果
对于sort我们从官方文档看一下解释