编辑代码

// 6
// 张三 3 3 3000
// 李四 3 4 3000
// 王五 3 3 4000
// 赵六 4 3 3000
// 陆奇 4 4 4000
// 闫八 4 4 3980.99 



// 赵六 4 3 3000.00
// 闫八 4 4 3980.99
// 陆奇 4 4 4000.00
// 李四 3 4 3000.00
// 张三 3 3 3000.00
// 王五 3 3 4000.00 

// 1.先按 级别降序
// 2.再按 工资生序
// 3.后按 年限生序
function sortList(arr) {
    const list = arr.slice()
    list.sort((prev, next) => {
        const level1 = prev[1]
        const level2 = next[1]

        const gz1 = prev[3]
        const gz2 = next[3]

        const year1 = prev[2]
        const year2 = next[2]

        if (level1 != level2) return level2 - level1;
        if (gz1 != gz2) return gz1 - gz2;
        if (year1 != year2) return year2 - year1;
        return prev[0] > next[0]
    })
    console.log(list)
}

const arr = [
    ['张三', 3, 3, 3000],
    ['李四', 3, 4, 3000],
    ['王五', 3, 3, 4000],
    ['赵六', 4, 3, 3000],
    ['陆奇', 4, 4, 4000],
    ['闫八', 4, 4, 3980.99]
]

sortList(arr);