我试图从一个对象中获得前两个最高值:
emotions = {
joy: 52,
surprise: 22,
contempt: 0,
sadness: 98,
fear: 60,
disgust: 20,
anger: 1,
};我知道我可以用所有这些值来做Math.max(),但是在这个例子中它只返回悲伤的值。我可以得到前2,标签(悲伤)和价值(98)吗?
发布于 2018-10-19 09:32:00
您可以获取条目,对它们进行排序,并返回转换为单个对象的对象。
var emotions = { joy: 52, surprise: 22, contempt: 0, sadness: 98, fear: 60, disgust: 20, anger: 1 },
top2 = Object
.entries(emotions)
.sort(({ 1: a }, { 1: b }) => b - a)
.slice(0, 2)
.map(([label, value]) => ({ label, value }));
console.log(top2);
https://stackoverflow.com/questions/52889532
复制相似问题