【发布时间】:2021-01-19 18:07:35
【问题描述】:
我有这个对象,我想通过仅保留对象的 2 个最高值来排序和过滤。
obj={ A :[{
asset: 9,
biodiversity: 4,
infrastructure: 15,
deflation: 11,
energy: 9
}],
B:[{
asset: 12,
biodiversity: 10,
infrastructure: 9,
deflation: 7,
energy: 15
}],
C:[{
asset: 2,
biodiversity: 12,
infrastructure: 6,
deflation: 6,
energy: 8
}]}
我想按对象的值对对象进行排序并过滤掉最高的 2 个,例如:
{A :[{
infrastructure: 15,
deflation: 11
}],
B:[{
energy: 15,
asset: 12
}],
C:[{
biodiversity: 12,
energy: 8
}]}
我已经尝试过这个排序:
Object.keys(obj).forEach((a) => _.sortBy(obj[a][0])))
但这显然是错误的。 我正在使用 lodash,但也会接受 vanilla javascript 解决方案。
【问题讨论】:
-
请阅读
json标签的使用说明,并检查您对“json”一词的使用。这个问题与JSON无关。 -
这是一个有效的 (RFC 8259) 所以我不知道你在说什么
-
您是否阅读了
json标签的描述,尤其是大写字母中的内容?无论如何,我相应地更新了你的问题。
标签: javascript sorting filtering lodash