let tags = {
    "01": {
       contentID: [10, 20],
       occurrences: 1
    },
    "02": {
       contentID: [10, 20],
       occurrences: 1
    },
    "04": {
       contentID: [10, 20],
       occurrences: 3
    },
    "05": {
       contentID: [10, 20],
       occurrences: 6
    }
};


如何通过以出现次数为基数来按降序排序,这是一个全局变量。所以我想将其存储在另一个对象中,并以降序对那个对象进行排序。

最佳答案

您不能对对象进行排序,但是可以将其转换为值数组:

Object.values(tags).sort((a, b) => b.occurrences - a.occurrences)


结果将是:

[
  {
    contentID: [10, 20],
    occurrences: 6
  },
  {
    contentID: [10, 20],
    occurrences: 3
  },
  {
    contentID: [10, 20],
    occurrences: 1
  },
  {
    contentID: [10, 20],
    occurrences: 1
  }
]


但是,如果需要,也可以将其单独排序:

Object.keys(tags).sort((a, b) => tags[b].occurrences - tags[a].occurrences)


您的结果将是一个数组['05', '04', '02', '01']

10-06 12:30