使用从JSON形式的API返回的信息,我试图操纵以下数据:
"results": [
{
"url": "etcetc",
"id": 1,
"user": {
"url": "etcetc",
"id": 2,
"email": "[email protected]",
"username": "example",
"first_name": "mister",
"last_name": "sample"
},
"data1": "String",
"data2": 10,
"data3": 6,
"data4": 12000,
"data5": 0.3333333333333333
}
因此在“结果”下有几个返回的对象,每个对象都有自己的一组data1-5。使用Angular,搜索具有最高数据5的对象并返回该特定对象的其余信息的最佳方法是什么?因此,如果可行,我将为data5值最高的数组对象打印出data1-5。
最佳答案
假设您有一个对象(不是JSON),或者将JSON解析为一个对象,则可以使用Array.reduce
var max = obj.results.reduce(function(a,b) {
return a.data5 > b.data5 ? a : b;
});
FIDDLE
ES2015版本
var max = obj.results.reduce( (a, b) => a.data5 > b.data5 ? a : b );