有没有一种简单的方法可以对打字稿字典进行排序?

时间:2019-08-14 15:31:10

标签: typescript

我有一些填充了打字稿字典的代码。

var dictionaryOfScores: {[id: string]: number } = {};

现在有了它,我想按值(数字)对它进行排序。

这本词典可能很大,所以我希望有一个就地处理它的解决方案。

我已经看到有一个可以满足我的需求的typescript-collections包,但我希望有一个简单的解决方案,不需要我包含另一个库。

Sort JavaScript object by key描述了一种普通的javascript方法,该方法可用于对该TypeScript对象进行排序,但是它会进行复制,并且没有专门针对TypeScript字典。

1 个答案:

答案 0 :(得分:0)

所以我这样做的方式是:

var dictionaryOfScores: {[id: string]: number } = {
  Fred: 11,
  George: 22,
  Toby: 18,
  Shannon: 15,
}

var sortableArray = Object.entries(dictionaryOfScores);
var sortedArray = sortableArray.sort(([, a], [, b]) => a - b);
var sortedObject = Object.fromEntries(sortedArray);
console.log(sortedObject)

应该输出什么

{
  Fred:11,
  Shannon:15,
  Toby:18,
  George:22
}