我有一个问题: 我创建了一个键值列表,我想按降序对其进行排序。 如果您注意到了,在堆叠闪电战中,我举了一个示例,说明如何创建列表以及尝试对列表进行排序的方法。但结果始终相同(以降序排列)
n.b:我需要一个键值列表而不是一个数组
答案 0 :(得分:0)
我创建了一个键值列表,我想按降序对其进行排序
做到这一点的一种方法是
这对您有用吗?
const unsortedList: any = {
z: 'last',
b: '2nd',
a: '1st',
c: '3rd'
};
function sort(unsortedList: any): any {
const keys: string[] = Object.keys(unsortedList);
const sortedKeys = keys.sort().reverse(); //reverse if you need or not
const sortedList: any = {};
sortedKeys.forEach(x => {
sortedList[x] = unsortedList[x];
});
return sortedList;
}
function sortWithoutUselessVariables(unsortedList: any): any {
const sortedList: any = {};
Object.keys(unsortedList)
.sort() // or pass a custom compareFn there, faster than using .reverse()
.reverse()
.forEach(x => sortedList[x] = unsortedList[x])
return sortedList;
}
console.log('unsorted:', unsortedList);
console.log('sorted:', sort(unsortedList));