我在下面的代码部分中张贴了地图。我要实现的是,根据值升序对地图进行排序。这样,在对它进行排序之后,
我应该按上一节中所示对地图进行排序。

请让我知道我该如何实现。

码:

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);

关于javascript - 如何按值升序排列对象图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49625761/

10-12 18:56