前端拿到数据,需要按照时间顺序和字母顺序来展示数据

前端拿到数据,需要按照时间顺序和字母顺序来展示数据

问题描述:

时间顺序是按照从大到小(10-1逐渐排序,属于降序),字母顺序是按照A-Z排序,需要同时兼顾时间和字母,想知道思路?时间优先,其后名字大写字母

题主要的代码如下

img

<script>
    var arr = [
        { time: '2021-10-24', title: 'cde' },
        { time: '2021-10-24', title: 'abc' },
        { time: '2021-10-30', title: 'abc' }];
    arr.sort(function (a, b) {
        var atime = new Date(a.time.replace(/-/g, '/'))
        var btime = new Date(b.time.replace(/-/g, '/'));
        if (btime.getTime() != atime.getTime()) return btime - atime;
        return a.title.toUpperCase().localeCompare(b.title.toUpperCase());
    });
    console.log(JSON.stringify(arr,null,2))
</script>

有帮助麻烦点个【采纳该答案】,谢谢~~有其他问题可以继续交流~

直接在后台用SQL语句实现排序应该更方便哦。