数组动态多条件排序
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
</style>
</head>
<body>
<script>
let jsonStudents = [
{ name: "Dawson", totalScore: "197", Chinese: "100", math: "97" },
{ name: "HanMeiMei", totalScore: "196", Chinese: "99", math: "97" },
{ name: "HanMeiMei", totalScore: "196", Chinese: "99", math: "10" },
{ name: "HanMeiMei", totalScore: "196", Chinese: "99", math: "80" },
{ name: "LiLei", totalScore: "185", Chinese: "88", math: "97" },
{ name: "XiaoMing", totalScore: "196", Chinese: "96", math: "100" },
{ name: "Jim", totalScore: "196", Chinese: "98", math: "98" },
{ name: "Joy", totalScore: "198", Chinese: "99", math: "99" }
];
let list = JSON.parse(JSON.stringify(jsonStudents))
// 将条件放入到数组中
let array = ['Chinese','math']
list.sort(function (a, b) {
for (let index = 0; index < array.length; index++) {
if (a[array[index]] === b[array[index]]) {
continue;
} else {
return b[array[index]] - a[array[index]];
}
}
});
console.log(list);
</script>
</body>
</html>
如果字段是字母等其他数据格式排序,需单独处理