排序字典的关键:值对在javascript
Sort dictionary of key:value pairs in javascript
我有一个字典,里面有一些键值对,如下所示。
rank = {
"Team 1" : 34,
"Team 2" : 55,
"Team 3" : 29,
"Team 4" : 61,
...
}
键是球队名称,值是赛季结束时的积分,所以我想根据它们的值对组合进行排序,以便打印最终排名。
有人能帮帮我吗?提前感谢
Javascript中的对象键和值没有内在顺序。在将它们按所需的顺序排序之前,需要将它们存储在有序结构中。
让我们把项目放入具有内在顺序的Array
:
var object = {
a: 1,
b: 5,
c: 2
}
var keyValues = []
for (var key in object) {
keyValues.push([ key, object[key] ])
}
keyValues
数组现在包含['a', 1], ['b', 5], ['c', 2]
。让我们对这个数组进行排序,使用每对中的第二个值进行比较:
keyValues.sort(function compare(kv1, kv2) {
// This comparison function has 3 return cases:
// - Negative number: kv1 should be placed BEFORE kv2
// - Positive number: kv1 should be placed AFTER kv2
// - Zero: they are equal, any order is ok between these 2 items
return kv1[1] - kv2[1]
})
现在keyValues
由小到大排序。请注意,您不能将其转换回对象,否则将丢失顺序。
相关文章:
- javascript结合了数组和字典
- 将JavaScript字典转换为JSON格式
- 为什么可以't使用myDict.123语法的JavaScript字典键以数字开头
- 如何在javascript字典中使用关键字查找值
- "尝试传递到 Jinja2/JavaScript 字典时出现
- 将值附加到 JavaScript 字典
- javascript 字典的键不是存储为值,而是存储为变量名称
- 如何在 JavaScript 字典中获取键集合
- JavaScript - 字典为空
- Javascript 字典到 html 数据字符串
- 为什么jQuery.getJSON()会使我的javascript字典扁平化
- Typescript字典编码的有效Javascript字典函数到类
- 当我在jQuery应用程序中迭代javascript字典的键时,我得到的是数字而不是值
- 将字符串转换为javascript字典
- 如何将JavaScript字典转换为Python语法
- 如何将javascript字典转换为编码的url字符串
- 将Javascript字典转换为python字典
- 带有名称的JavaScript字典
- 键作为变量访问javascript字典
- 如何构建javaScript字典