You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按weekday(星期)类型的key对object对象按周一至周日顺序排序

按周一到周日顺序重排weekOverview对象的实现方案

前置说明

ES6+ 版本的JavaScript、Python 3.7+ 及更高版本都支持保留对象/字典的键插入顺序,我们可以通过预先定义目标顺序,按顺序重建键值对实现需求,这种方案比动态排序更稳定,不会受系统地区星期排序规则影响。

JavaScript 实现代码

// 1. 预定义目标星期顺序
const targetWeekOrder = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
// 2. 原始数据
const originData = {
  "weekOverview": {
    "Sunday": 0.1111111111112,
    "Monday": 0.1111111111111,
    "Tuesday": 0.1100204936741015,
    "Wednesday": 0.8655145400508841,
    "Thursday": 0.2206230378805767,
    "Friday": 0.7633485206232166,
    "Saturday": 1.6047637274510986
  }
}
// 3. 按顺序重建weekOverview对象
const sortedWeekOverview = {}
targetWeekOrder.forEach(day => {
  sortedWeekOverview[day] = originData.weekOverview[day]
})
// 4. 替换原数据的weekOverview字段得到最终结果
const result = {
  ...originData,
  weekOverview: sortedWeekOverview
}

Python 处理JSON实现代码

import json

# 预定义目标星期顺序
target_week_order = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
# 原始JSON字符串(注意补全原示例中缺失的逗号避免格式错误)
raw_json = '''
{
  "weekOverview": {
    "Sunday": 0.1111111111112,
    "Monday": 0.1111111111111,
    "Tuesday": 0.1100204936741015,
    "Wednesday": 0.8655145400508841,
    "Thursday": 0.2206230378805767,
    "Friday": 0.7633485206232166,
    "Saturday": 1.6047637274510986
  }
}
'''
# 加载JSON并按顺序重建weekOverview
data = json.loads(raw_json)
sorted_week_overview = {day: data['weekOverview'][day] for day in target_week_order}
data['weekOverview'] = sorted_week_overview

# 输出格式化后的JSON
print(json.dumps(data, indent=2, ensure_ascii=False))

格式注意事项

你提供的预期输出示例中Saturday对应的行末尾缺失逗号,实际输出时需要补全避免JSON语法错误。

内容的提问来源于stack exchange,提问作者Wolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:15:00