我正在使用一个库,它可以预测网络摄像头前用户的情绪。有四种情绪:愤怒、悲伤、惊讶和快乐。我想看看哪种情绪得分最高。当我console.log predictedEmotions时,我看到了以下内容:
(4) [{…}, {…}, {…}, {…}]
0: {emotion: "angry"value: 0.08495773461377512}
1: {emotion: "sad", value: 0.05993173506165729}
2: {emotion: "surprised", value: 0.054032595527500206}
3: {emotion: "happy", value: 0.18562819815754616}对如何获得最有价值的情感有什么想法吗?
发布于 2019-01-11 09:59:11
您可以减少数组并接受值最高的对象。然后拿出物体的情感。
var data = [{ emotion: "angry", value: 0.08495773461377512 }, { emotion: "sad", value: 0.05993173506165729 }, { emotion: "surprised", value: 0.054032595527500206 }, { emotion: "happy", value: 0.18562819815754616 }],
highest = data
.reduce((a, b) => a.value > b.value ? a : b)
.emotion;
console.log(highest);
发布于 2019-01-11 10:01:07
我会用减缩
const highest = arr.reduce((a, b) => a.value > b.value ? a : b, {});
console.log(highest);<script>
const arr = [
{
emotion: "angry",
value: 0.08495773461377512
},
{
emotion: "sad",
value: 0.05993173506165729
},
{
emotion: "surprised",
value: 0.054032595527500206
},
{
emotion: "happy",
value: 0.18562819815754616
}
];
</script>
或者您可以使用排序(但由于性能原因,我更喜欢减少)
arr.sort((a, b) => b.value - a.value);
console.log(arr[0]);<script>
const arr = [
{
emotion: "angry",
value: 0.08495773461377512
},
{
emotion: "sad",
value: 0.05993173506165729
},
{
emotion: "surprised",
value: 0.054032595527500206
},
{
emotion: "happy",
value: 0.18562819815754616
}
];
</script>
发布于 2019-01-11 10:15:42
const data = [
{emotion: "angry", value: 0.08495773461377512},
{emotion: "sad", value: 0.05993173506165729},
{emotion: "surprised", value: 0.054032595527500206},
{emotion: "happy", value: 0.18562819815754616}
],
highest = process(data);
function process(data) {
return data.sort(function (a, b) {
return b.value - a.value;
});
}
console.log("highest==>",highest,"sorted-array ==>",data[0].emotion);https://stackoverflow.com/questions/54144088
复制相似问题