可以使用Array.prototype.sort()
方法来对JavaScript数组进行排序。在sort()
方法中,我们可以传入一个比较函数来指定排序的规则。
以下是一个按照日期降序排序,并且如果日期相同则按照风险排序的JavaScript数组排序的示例代码:
// 示例数组
var data = [
{ date: '2022-01-01', risk: 2 },
{ date: '2022-01-02', risk: 1 },
{ date: '2022-01-01', risk: 1 },
{ date: '2022-01-03', risk: 3 }
];
// 比较函数
function compare(a, b) {
// 按照日期降序排序
if (a.date > b.date) {
return -1;
}
if (a.date < b.date) {
return 1;
}
// 如果日期相同,按照风险排序
if (a.risk > b.risk) {
return 1;
}
if (a.risk < b.risk) {
return -1;
}
return 0;
}
// 使用比较函数进行排序
data.sort(compare);
// 打印排序后的数组
console.log(data);
运行上述代码,输出结果为:
[
{ date: '2022-01-03', risk: 3 },
{ date: '2022-01-02', risk: 1 },
{ date: '2022-01-01', risk: 2 },
{ date: '2022-01-01', risk: 1 }
]
以上代码中,我们定义了一个compare
函数作为比较函数传给sort()
方法。比较函数首先按照日期降序排序,如果日期相同,则按照风险排序。最后,我们调用data.sort(compare)
对数组进行排序,并输出排序后的结果。