[英]How to get element from nested JSON Array object with max value
我希望類別1的最大值為157。我可以通過使用for或forEach來實現。 但是有人可以指導我如何使用ES6來實現這一目標嗎?
我也想要完整的對象,因此也可以使用其他字段。 例如。 到期
{
"data": [
{
"expiry": "2020-01-01T00:00:00",
"rates": [
{
"name": "Category 1",
"amount": 57
},
{
"name": "Category 2",
"amount": 55
}
]
},
{
"expiry": "2020-01-01T00:00:00",
"rates": [
{
"name": "Category 1",
"amount": 157
},
{
"name": "Category 2",
"amount": 25
}
]
},
{
"expiry": "2020-01-01T00:00:00",
"rates": [
{
"name": "Category 1",
"amount": 27
},
{
"name": "Category 2",
"amount": 45
}
]
},
]
};
嘗試這個 :
var jsonObj = { "data": [{ "expiry": "2020-01-01T00:00:00", "rates": [{ "name": "Category 1", "amount": 57 }, { "name": "Category 2", "amount": 55 } ] }, { "expiry": "2020-01-01T00:00:00", "rates": [{ "name": "Category 1", "amount": 157 }, { "name": "Category 2", "amount": 25 } ] }, { "expiry": "2020-01-01T00:00:00", "rates": [{ "name": "Category 1", "amount": 27 }, { "name": "Category 2", "amount": 45 } ] } ] }; var arr = []; for (var i of jsonObj.data) { arr.push(i.rates.find((obj) => obj.name === 'Category 1')); } var maxValue = Math.max.apply(Math, arr.map(function(obj) { return obj.amount; })); console.log(maxValue); // 157
試試吧
var jsonData= { "data": [{ "expiry": "2020-01-01T00:00:00", "rates": [{ "name": "Category 1", "amount": 57 }, { "name": "Category 2", "amount": 55 } ] }, { "expiry": "2020-01-01T00:00:00", "rates": [{ "name": "Category 1", "amount": 157 }, { "name": "Category 2", "amount": 25 } ] }, { "expiry": "2020-01-01T00:00:00", "rates": [{ "name": "Category 1", "amount": 27 }, { "name": "Category 2", "amount": 45 } ] } ] }; var vAllAmountForCategory1=[]; for (i = 0; i < jsonData.data.length; i++) { var pData= jsonData.data[i]; for (j = 0; j < jsonData.data[i].rates.length; j++) { if(jsonData.data[i].rates[j].name=="Category 1"){ vAllAmountForCategory1.push(jsonData.data[i].rates[j].amount); } } } var vValueAmountSortingInDesc=vAllAmountForCategory1.sort(function(a, b){return b - a}); console.log("The max amount for 'Category 1' is: "+vValueAmountSortingInDesc[0]);
**或者您也可以使用** LinkJS
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.