JS数组排序, 根据多个字段排序
const arr = [
{name: '唐庆淞', dept: '软件1部', score: 24},
{name: '凌莎维', dept: '软件1部', score: 34},
{name: '傅群旭', dept: '软件1部', score: 56},
{name: '王一路', dept: '软件1部', score: 48},
{name: '余歌知', dept: '软件2部', score: 65},
{name: '倪椒惟', dept: '软件2部', score: 49},
{name: '何玮习', dept: '软件2部', score: 91},
{name: '咎恬朦', dept: '软件2部', score: 47},
{name: '贡莉好', dept: '软件2部', score: 94},
{name: '宗莲雪', dept: '软件1部', score: 66},
{name: '杜权炳', dept: '软件1部', score: 14},
{name: '秋煦言', dept: '软件1部', score: 90},
{name: '邴优逸', dept: '软件3部', score: 54},
{name: '史珊瑶', dept: '软件3部', score: 84},
{name: '幸铃喻', dept: '软件3部', score: 23},
{name: '朱洵泉', dept: '软件3部', score: 61},
{name: '华苓果', dept: '软件1部', score: 29},
]
// 直接排序
arr.sort((a, b) => a.dept.localeCompare(b.dept, 'zh') || b.score - a.score)
arr.forEach(it=>console.log(Object.values(it)))
本来想封装一个方法来处理, 后来发现着实有些鸡肋, 遂放弃, 注意处理空值即可