我有一些填充了打字稿字典的代码。
var dictionaryOfScores: {[id: string]: number } = {};
现在有了它,我想按值(数字)对它进行排序。
这本词典可能很大,所以我希望有一个就地处理它的解决方案。
我已经看到有一个可以满足我的需求的typescript-collections包,但我希望有一个简单的解决方案,不需要我包含另一个库。
Sort JavaScript object by key描述了一种普通的javascript方法,该方法可用于对该TypeScript对象进行排序,但是它会进行复制,并且没有专门针对TypeScript字典。
答案 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
}