gpt4 book ai didi

javascript - 我怎样才能按降序排列这个对象数组的两个属性

转载 作者:行者123 更新时间:2023-11-30 12:45:49 26 4
gpt4 key购买 nike

我有一个包含年/月整数表示的对象数组:

[
{
year : 2014,
month : 10
},
{
year : 2011,
month : 6
},
{
year : 2014,
month : 11
}
]

我需要按月和年对它们进行排序,以便最近的对象排在最前面。

目前我正在执行两种排序以实现此目的:

        items.sort(function(a, b){
if (a.month === b.month) {
return 0;
} else if (b.month > a.month) {
return 1;
}
return -1;
});

items.sort(function(a, b){
if (a.year === b.year) {
return 0;
} else if (b.year > a.year) {
return 1;
}
return -1;
});

首先我按月份排序,然后我按年份排序。

虽然这工作正常,但似乎有点 hacky。如何使用单个 排序函数正确排序此数组?

提前致谢。

最佳答案

你可以这样做:

items.sort(function(a, b){
return a.year === b.year ? b.month - a.month : b.year - a.year;
});

关于javascript - 我怎样才能按降序排列这个对象数组的两个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22521726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com