使用函数做为值构造的比较函数

代码如下:

<script type="text/javascript">
//作为值的函数
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:"xiaobai",age:28},{name:"libai",age:33}];
data.sort(createComparisonFunction("name"));
console.log(data[0].name);//输出    libai
data.sort(createComparisonFunction("age"));
console.log(data[0].name);//输出xiaobai
</script>

你可能感兴趣的:(函数)