假设有一对象数组,我们想要根据某个对象属性对数组进行排序
代码如下:
// 比较函数
function createComparisonFunction(propertyName) {
return function (object1,object2) {
var value1 = object1[propertyName];
var value2 = object2[propertyName];
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
};
}
// 数组
var data = [{name:"rose",age: 60},{name: "Zachary",age: 28},{name: "Nicholas",age:39},{name: "Michle",age:58}];
// 比较年龄
data.sort(createComparisonFunction("age"));
// 结果
for (var i = 0;i<data.length;i++){
console.log(data[i].name,data[i].age);
}
运行结果: