function createComparisonFunction(propertyName){
return function(object1,object2){
var value1 = object[propertyName];
var value2 = object[propertName];
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
}else{
return 0;
}
};
}
var data = [{name:"Zachary",age:28},{name:"Nicholas",age:29}];
data.sort(createComparisonFunction("name"));
alert(data[0].name); //Nicholas
data.sort(createComparisonFunction("age"));
alert(data[0].name); //Zachary
js数组 sort()方法使用:
arrayObject.sort(sortby)
sortby为可选值, 必须为函数,若没有sortby,则按字符编码顺序排序.
有比较函数,则需有两个参数作为比较值,然后返回一个用于说明这两值顺序的数字.
(注:本文代码来自”JavaScript高级程序设计”)