对象数组通过对象中的属性进行排序

    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: "Zachary", age: 28}, {name: "Nicholas", age: 29}, {name: "Kicholas", age: 29}];
    console.log(data.sort(createComparisonFunction("name")));  //[ { name: 'Kicholas', age: 29 }, { name: 'Nicholas', age: 29 },{ name: 'Zachary', age: 28 } ]

    console.log(data.sort(createComparisonFunction("age")));  //[ { name: 'Zachary', age: 28 },{ name: 'Kicholas', age: 29 },{ name: 'Nicholas', age: 29 } ]


猜你喜欢

转载自blog.csdn.net/Drifterkiten/article/details/87980252