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

如何按子键age的值升序排序JSON对象的键为数组?

按子键"age"升序排序JSON键的实现示例

这里用JavaScript实现需求,核心思路是先提取对象的键数组,再根据每个键对应的age值(转成数字后)进行排序:

// 给定的JSON对象
const people = {
  "p1": {
    "name": "*****",
    "age": "18"
  },
  "p2": {
    "name": "*****",
    "age": "14"
  },
  "p3": {
    "name": "*****",
    "age": "24"
  }
};

// 提取键并按age升序排序
const sortedKeys = Object.keys(people).sort((keyA, keyB) => {
  // 注意age是字符串类型,必须转为数字再比较
  const ageA = Number(people[keyA].age);
  const ageB = Number(people[keyB].age);
  return ageA - ageB; // 减法实现升序,若要降序则反过来用ageB - ageA
});

console.log(sortedKeys); // 输出结果:["p2", "p1", "p3"]

关键步骤说明

  • Object.keys(people):获取目标对象的所有键,得到初始数组 ["p1", "p2", "p3"]
  • sort() 方法的比较函数:
    • 将每个键对应的age字符串转为数字,避免字符串排序的错误(比如"18"会被误判为比"24"大的情况)
    • 通过ageA - ageB的结果控制排序顺序:结果为负时keyA排在keyB前,实现升序;若需要降序,改为ageB - ageA即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:17:08