gpt4 book ai didi

javascript - 按值降序对 json 进行排序

转载 作者:行者123 更新时间:2023-11-28 17:40:03 25 4
gpt4 key购买 nike

已经得到一个JSON节点如下[{"a":1,"b":2,"c":1,"d":3,"e":2}] 。需要根据值而不是键按降序排序。

预期输出 [{"d":3,"e":2,"b":2,"c":1,"a":1}]

最佳答案

这需要几个辅助函数(或像 lodash 这样的库):

let toPairs = s => Object.keys(s).map(k => [k, s[k]]);
let fromPairs = a => a.reduce((s, [k, v]) => Object.assign(s, {[k]: v}), {});
let cmp = (a, b) => (a > b) - (a < b);

a = {"a": 1, "b": 2, "c": 1, "d": 3, "e": 2};
b = fromPairs(
toPairs(a).sort((x, y) =>
cmp(y[1], x[1]) || cmp(y[0], x[0])))

console.log(b);

也就是说,依赖以特定方式排序的对象属性通常是不明智的。

关于javascript - 按值降序对 json 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48126998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com