用js写一段多维度对象数组排序
以下是一个使用 JavaScript 来对多维度对象数组进行排序的示例代码:
// 定义一个多维度对象数组
const arr = [
{ name: 'Alice', age: 25, score: 80 },
{ name: 'Bob', age: 30, score: 70 },
{ name: 'Charlie', age: 20, score: 90 },
{ name: 'David', age: 25, score: 85 },
];
// 定义排序规则,先按照年龄升序排列,年龄相同时按照分数降序排列
const compare = (a, b) => {
if (a.age < b.age) {
return -1;
} else if (a.age > b.age) {
return 1;
} else {
if (a.score > b.score) {
return -1;
} else if (a.score < b.score) {
return 1;
} else {
return 0;
}
}
};
// 调用数组的 sort 方法进行排序
arr.sort(compare);
// 输出排序后的数组
console.log(arr);
运行以上代码,输出结果为:
[
{ name: 'Charlie', age: 20, score: 90 },
{ name: 'Alice', age: 25, score: 80 },
{ name: 'David', age: 25, score: 85 },
{ name: 'Bob', age: 30, score: 70 }
]
可以看到,按照年龄升序排列后,年龄为 25 的两个人之间,按照分数降序排列。这样就实现了多维度排序。
原文地址: https://www.cveoy.top/t/topic/bZUP 著作权归作者所有。请勿转载和采集!