如何对以年份为键的JavaScript对象按键进行降序排序
JavaScript 对象按年份键降序排序
要把以年份为键的对象按键降序排列,直接按以下步骤操作就行:
- 先提取对象的所有键,把它们转成数字类型(因为对象的键本质是字符串)
- 对键数组做降序排序
- 遍历排序后的键,重新构建一个有序的新对象
具体实现代码
初始数据:
const data = { 2023: [/* items */], 2024: [/* items */], 2022: [/* items */], // ... other years };
处理逻辑有两种写法:
// 写法一:分步处理 const sortedKeys = Object.keys(data).map(Number).sort((a, b) => b - a); const sortedData = {}; sortedKeys.forEach(key => { sortedData[key] = data[key]; });
// 写法二:用 Object.fromEntries 简化代码 const sortedData = Object.fromEntries( Object.entries(data).sort(([a], [b]) => b - a) );
最终结果
处理后得到的 sortedData 结构如下:
const sortedData = { 2024: [/* items */], 2023: [/* items */], 2022: [/* items */], // ... other years };
补充说明:ES6及之后的JS版本里,整数类型的对象键会自动按升序排列,但如果是动态添加键导致顺序混乱,或者需要明确的降序逻辑,上面的方法能确保得到你想要的排序结果。
内容的提问来源于stack exchange,提问作者user6742120
相关产品推荐
相关产品推荐

