接口写好了吗 2023-07-18 10:19 采纳率: 77.7%
浏览 21
已结题

数组对象多个字段相同排序如何实现

表格的数据类似这样的格式,因为需要的是把混乱的数据排序,ks一列相同的在一起,child_ks和xz字段相同的也是在一起,因为这样用于表格合并。
像这种多个字段排序到一起的如何实现呢。就是ks相同的在一起,这个前提下后面的字段也是相同的放在一起。


list: [{
                        ks: '外科',
                        child_ks: '泌尿外科',
                        xz: '外科一组',
                        doctor: '小明',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '中医科',
                        child_ks: '中医男科',
                        xz: '外科一组',
                        doctor: '小红',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '中医科',
                        child_ks: '中医男科',
                        xz: '外科一组',
                        doctor: '小张',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '外科',
                        child_ks: '泌尿外科',
                        xz: '外科二组',
                        doctor: '小李',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '外科',
                        child_ks: '泌尿外科',
                        xz: '外科二组',
                        doctor: '小明',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '中医科',
                        child_ks: '中医妇科',
                        xz: '外科一组',
                        doctor: '小明',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '外科',
                        child_ks: '泌尿外科',
                        xz: '外科二组',
                        doctor: '小明',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                    {
                        ks: '中医科',
                        child_ks: '中医妇科',
                        xz: '外科二组',
                        doctor: '小明',
                        num: 18,
                        num2: 19,
                        num3: 20
                    },
                ]

类似这样的效果

img

  • 写回答

1条回答 默认 最新

  • i__0o0__ 2023-07-18 11:02
    关注
    function mysort(a,b){
          if (a.ks !== b.ks) return a.ks < b.ks ? -1 : 1
          else if (a.child_ks !== b.child_ks) return a.child_ks < b.child_ks ? -1 : 1
          else if (a.xz !== b.xz) return a.xz < b.xz ? -1 : 1
        }
        
        function test(){
            list.sort(mysort)
            console.log(list)
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月26日
  • 已采纳回答 7月18日
  • 创建了问题 7月18日