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

表格的数据类似这样的格式,因为需要的是把混乱的数据排序,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

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)
    }