javascript - 如何按值升序对对象映射进行排序

标签 javascript node.js

我在下面的代码部分中发布了 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/

相关文章:

javascript - :checked not working when input tag is inside label tag CSS

javascript - 如何使用 JavaScript 更改类的显示?

javascript - mongodb 仅更新特定子元素

node.js - 如何 mapreduce 具有相互关联的复杂子文档的对象

javascript - 使用 handlebars.js 循环对象的对象

node.js - 如何控制 Node.js 应用程序中模块的执行顺序

javascript - 如何在 Javascript 中添加水平线

javascript - 防止字段建议 JavaScript 中以前使用过的单词

javascript - 我可以在nodejs中的javascript路径中传递变量吗?我正在使用查询方法

node.js - Redis 卡在 Get 上