繁体   English   中英

如何按值升序排列对象图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM