sort()根据对象值排序

一:根据对象值(数字大小)

var arr = [{
        'name': 'abc',
        'age': 20
    },
    {
        'name': 'cde',
        'age': 19
    },
    {
        'name': 'dfc',
        'age': 25
    },
    {
        'name': 'bde',
        'age': 21
    },
]

function compare(property) {
    return function (a, b) {
        return (a[property] - b[property])
    }
}

console.log(arr.sort(compare('age')))
二:根据对象值(字符串)
var arr = [{
        'name': 'abc',
        'age': 20
    },
    {
        'name': 'cde',
        'age': 19
    },
    {
        'name': 'dfc',
        'age': 25
    },
    {
        'name': 'bde',
        'age': 21
    },
]
function compare(property) {
    return function (a, b) {
        var nameA = a[property].toUpperCase(); // ignore upper and lowercase
        var nameB = b[property].toUpperCase(); // ignore upper and lowercase
        if (nameA < nameB) {
            return -1;
        }
        if (nameA > nameB) {
            return 1;
        }
        return 0;
    }
}
console.log(arr.sort(compare('name')))

猜你喜欢

转载自blog.csdn.net/jx950915/article/details/81217106