编辑代码

var n = 6

// 姓名 职级 工作年限 工资
// 张三 3 3 3000
// 李四 3 4 3000
// 王五 3 3 4000
// 赵六 4 3 3000
// 陆奇 4 4 4000
// 闫八 4 4 3980.99

// 1、职级高的排在前面
// 2、若职级相同,按工资少的排前面
// 3、若工资相同,工作年限长的排前面

function sortfunc(p1, p2) {
    var temp1 = p1.split(' ')
    var temp2 = p2.split(' ')
    var a1 = temp1[1]
    var b1 = temp1[2]
    var c1 = temp1[3]
    var a2 = temp2[1]
    var b2 = temp2[2]
    var c2 = temp2[3]
    
    if (a1 == a2) {
        if (c1 == c2) {
            return b2-b1
        }
        return c1-c2
    }
    return a2-a1
}

    // if (p1.职级 == p2.职级) {
    //     if(p1.工资 == p2.工资) {
    //         return p1.年限 - p2.年限;
    //     }
    //     return p1.工资 - p2.工资;
    // }
    // return p1.职级 - p2.职级;


    // var a1 = parseInt(temp1[1])
    // var b1 = parseInt(temp1[2])
    // var c1 = parseInt(temp1[3])
    // var a2 = parseInt(temp2[1])
    // var b2 = parseInt(temp2[2])
    // var c2 = parseInt(temp2[3])

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

arr.sort((p1, p2) => {
    var temp1 = p1.split(' ')
    var temp2 = p2.split(' ')
    var a1 = temp1[1]
    var b1 = temp1[2]
    var c1 = temp1[3]
    var a2 = temp2[1]
    var b2 = temp2[2]
    var c2 = temp2[3]
    // console.log(11, a1-a2)
    // console.log(21, temp2)
    if (a1 == a2) {
        if (c1 == c2) {
            return b2-b1
        }
        return c1-c2
    }
    return a2-a1
})
console.log(arr.toString().replace(/,/g, '\n'))