[英]How to sort map of objects by values ascendingly
我在下面的代码部分中张贴了地图。 我要实现的是,根据值升序对地图进行排序。 这样,在对它进行排序之后,我应该按照上一节中所示对地图进行排序。
请让我知道我该如何实现。
代码 :
const obj1 = new Object();
const obj2 = new Object();
const obj3 = new Object();
const obj4 = new Object();
const map2 = {};
map2[obj1] = 10;
map2[obj2] = -20;
map2[obj3] = 0;
map2[obj4] = 40;
排序后 :
map2[obj2] = -20;
map2[obj3] = 0;
map2[obj1] = 10;
map2[obj4] = 40;
您没有显示map2
变量是什么,但这可以通过使用本机数组方法(主要是sort)轻松处理:
var map2 = new Map(); var obj1 = new Object(); var obj2 = new Object(); var obj3 = new Object(); var obj4 = new Object(); var map = [{ obj: obj1, value: 10 }, { obj: obj2, value: -20 }, { obj: obj3, value: 0 }, { obj: obj4, value: 40 }, ] .sort(function(a, b) { return a.value - b.value; }); console.log(map);
如果map2
是真实的Map
则非常简单:
map2 = new Map([...map2.entries()].sort((a, b) => a.value - b.value));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.