数组按某一属性值排序

假设有一对象数组,我们想要根据某个对象属性对数组进行排序

代码如下:

// 比较函数
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);
}

运行结果:
这里写图片描述

阅读更多
换一批

没有更多推荐了,返回首页