我在下面的代码部分中发布了 map 。我想要实现的是,根据值升序对 map 进行排序。这样,在排序之后, 我应该按照上一节中所示的方式对 map 进行排序。
请让我知道如何实现这一目标。
代码:
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
变量是什么,但这可以通过使用 native 数组方法轻松处理,主要是 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);
关于javascript - 如何按值升序对对象映射进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49625761/