繁体   English   中英

如何根据数字对对象数组进行排序?

[英]How to sort an array of objects based on numbers?

我有一个 Json 文件,其中包含以下对象数组:

{
    "prospects": [
      {
        "name": "Evan Neal",
        "college": "Alabama",
        "positionAcronym": "OT",
        "grade": 8,
        "id": 1
      },
      {
        "name": "Kyle Hamilton",
        "college": "Notre Dame",
        "positionAcronym": "FS",
        "grade": 10,
        "id": 2
      },
      {
        "name": "Aidan Hutchinson",
        "college": "Michigan ",
        "positionAcronym": "Edge",
        "grade": 10,
        "id": 3
      },
      {
        "name": "Derek Stingley",
        "college": "LSU ",
        "positionAcronym": "CB",
        "grade": 6,
        "id": 4
      },
      {
        "name": "Brian Robinson Jr",
        "college": "Alabama",
        "positionAcronym": "RB",
        "grade": 4,
        "id": 5
      }
    ]
  }

现在顺序是数组中对象的标准顺序

// [埃文·尼尔、凯尔·汉密尔顿、艾丹·哈钦森、德里克·斯廷利、小布赖恩·罗宾逊]

但我想根据他的“等级”值对这些对象进行排序。 结果必须是这样的。 有可能的?

// [ Aidan Huthinson(等级 10),Kyle Hamilton(等级 10),Evan Neal(等级 8),Derek Stingley(等级 6),Brian Robinson Jr(等级 4)]

我从 fetch 方法获取数据:

fetch('/data/prospectsData.json')
.then(res => res.json())
.then(data => {
    data.prospects.map(player => {

       // My code to create the list of elements

    })
})
  • 因为它是 object。这会将等级从高到低排序
data.prospects.sort((a, b) => b.grade - a.grade);

yourArray.sort((a, b) => a.grade - b.grade)将按字段grade对数组进行排序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM