Javascript:按值对对象排序

时间:2019-06-26 20:12:12

标签: javascript

我有以下对象:

{1234: "3.05", 1235: "2.03", 1236: "3.05"}

我想按对它们进行排序,以获得类似这样的结果:

{1235: "2.03", 1234: "3.05", 1236: "3.05"}

我尝试过:

const sortedList = _.orderBy(myList, (value, key) => {
        return value;
      }, ['asc']);

对值进行排序,但这只是值列表:

{0: "2.03", 1: "3.05", 2: "3.05"}

如何保留密钥?

1 个答案:

答案 0 :(得分:1)

是的,可以。唯一要注意的是,输出必须是数组才能保证键的顺序。

const input = {1234: "3.05", 1235: "2.03", 1236: "3.05"}

const output = Object.entries(input)
                     .sort(([, v1], [, v2]) => v1 - v2)
                     .map(([key, value]) => ({ [key]: value }))

console.log(output)