js数组按照两个条件排序

发布网友

我来回答

1个回答

热心网友

var arr = [{
    name: 'xx1',
    time: '1995-05-01',
    num: 100
}, {
    name: 'xx2',
    time: '1995-05-02',
    num: 101
}, {
    name: 'xx3',
    time: '2001-01-01',
    num: 200
}, {
    name: 'xx4',
    time: '2001-05-07',
    num: 56
}];
arr.sort(function(a, b) {
    var at = parseInt(a.time, 10),
        bt = parseInt(b.time, 10),
        an = a.num * 1,
        bn = b.num * 1;
    if (at > bt) {
        return 1;
    } else if (at < bt) {
        return -1;
    } else {
        if (an > bn) {
            return -1;
        } else if (an < bn) {
            return 1;
        } else {
            return 0;
        }
    }
});
console.log(arr);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com