Javascript API JSON响应选择最低价格

Javascript API JSON响应选择最低价格,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我正在对一个API进行AJAX调用,并得到以下json(如下)响应。我想从“报价”中得到最低的“MinPrice”,但似乎找不出最好的方法 我可以循环引用并将每个minprice推送到一个数组中,然后对该数组进行排序以获得最低值,但我还需要特定的引用额外的信息,即它是“outboundleg” { "Quotes": [{ "QuoteId": 1, "MinPrice": 70.0, "Direct": true, "Ou

我正在对一个API进行AJAX调用,并得到以下json(如下)响应。我想从“报价”中得到最低的“MinPrice”,但似乎找不出最好的方法

我可以循环引用并将每个minprice推送到一个数组中,然后对该数组进行排序以获得最低值,但我还需要特定的引用额外的信息,即它是“outboundleg”

{
    "Quotes": [{
        "QuoteId": 1,
        "MinPrice": 70.0,
        "Direct": true,
        "OutboundLeg": {
            "CarrierIds": [1047],
            "OriginId": 84892,
            "DestinationId": 65698,
            "DepartureDate": "2017-02-13T00:00:00"
        },
        "QuoteDateTime": "2017-02-01T01:05:00"
    }, {
        "QuoteId": 2,
        "MinPrice": 85.0,
        "Direct": true,
        "InboundLeg": {
            "CarrierIds": [1047],
            "OriginId": 65698,
            "DestinationId": 84892,
            "DepartureDate": "2017-02-13T00:00:00"
        },
        "QuoteDateTime": "2017-02-01T04:23:00"
    }, {
        "QuoteId": 3,
        "MinPrice": 86.0,
        "Direct": true,
        "InboundLeg": {
            "CarrierIds": [1047],
            "OriginId": 65698,
            "DestinationId": 84892,
            "DepartureDate": "2017-02-13T00:00:00"
        },
        "QuoteDateTime": "2017-02-01T01:57:00"
    }, {
        "QuoteId": 4,
        "MinPrice": 164.0,
        "Direct": true,
        "OutboundLeg": {
            "CarrierIds": [1047],
            "OriginId": 84892,
            "DestinationId": 65698,
            "DepartureDate": "2017-02-13T00:00:00"
        },
        "InboundLeg": {
            "CarrierIds": [1047],
            "OriginId": 65698,
            "DestinationId": 84892,
            "DepartureDate": "2017-02-13T00:00:00"
        },
        "QuoteDateTime": "2017-01-30T21:03:00"
    }],
    "Places": [{
        "PlaceId": 65698,
        "IataCode": "LHR",
        "Name": "London Heathrow",
        "Type": "Station",
        "SkyscannerCode": "LHR",
        "CityName": "London",
        "CityId": "LOND",
        "CountryName": "United Kingdom"
    }, {
        "PlaceId": 84892,
        "IataCode": "TXL",
        "Name": "Berlin Tegel",
        "Type": "Station",
        "SkyscannerCode": "TXL",
        "CityName": "Berlin",
        "CityId": "BERL",
        "CountryName": "Germany"
    }],
    "Carriers": [{
        "CarrierId": 838,
        "Name": "Air France"
    }, {
        "CarrierId": 881,
        "Name": "British Airways"
    }, {
        "CarrierId": 1047,
        "Name": "eurowings"
    }, {
        "CarrierId": 1218,
        "Name": "Iberia"
    }, {
        "CarrierId": 1324,
        "Name": "KLM"
    }, {
        "CarrierId": 1368,
        "Name": "Lufthansa"
    }, {
        "CarrierId": 1384,
        "Name": "Swiss"
    }, {
        "CarrierId": 1707,
        "Name": "SAS"
    }, {
        "CarrierId": 1710,
        "Name": "Brussels Airlines"
    }],
    "Currencies": [{
        "Code": "GBP",
        "Symbol": "£",
        "ThousandsSeparator": ",",
        "DecimalSeparator": ".",
        "SymbolOnLeft": true,
        "SpaceBetweenAmountAndSymbol": false,
        "RoundingCoefficient": 0,
        "DecimalDigits": 2
    }]
}

由于
Quotes
是一个数组,它基于
MinPrice
propert,然后您可以基于
index
提取信息

var sorted = data.Quotes.sort((a, b) => {return a.MinPrice - b.MinPrice})
console.log(sorted[0])
var数据={
“引言”:[{
“QuoteId”:1,
“MinPrice”:70.0,
“直接”:对,
“外侧腿”:{
“CarrierIds”:[1047],
“原始ID”:84892,
“DestinationId”:65698,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-02-01T01:05:00”
}, {
“QuoteId”:2,
“MinPrice”:85.0,
“直接”:对,
“界内腿”:{
“CarrierIds”:[1047],
“OriginId”:65698,
“DestinationId”:84892,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-02-01T04:23:00”
}, {
“QuoteId”:3,
“MinPrice”:86.0,
“直接”:对,
“界内腿”:{
“CarrierIds”:[1047],
“OriginId”:65698,
“DestinationId”:84892,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-02-01T01:57:00”
}, {
“QuoteId”:4,
“MinPrice”:164.0,
“直接”:对,
“外侧腿”:{
“CarrierIds”:[1047],
“原始ID”:84892,
“DestinationId”:65698,
“出发日期”:“2017-02-13T00:00:00”
},
“界内腿”:{
“CarrierIds”:[1047],
“OriginId”:65698,
“DestinationId”:84892,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-01-30T21:03:00”
}],
“地点”:[{
“PlaceId”:65698,
“IataCode”:“LHR”,
“名称”:“伦敦希思罗机场”,
“类型”:“站”,
“SkyscannerCode”:“LHR”,
“城市名称”:“伦敦”,
“CityId”:“LOND”,
“国家名称”:“联合王国”
}, {
“PlaceId”:84892,
“IataCode”:“TXL”,
“名称”:“柏林泰格尔”,
“类型”:“站”,
“SkyscannerCode”:“TXL”,
“城市名称”:“柏林”,
“城市ID”:“柏林”,
“国家名称”:“德国”
}],
“承运人”:[{
“CarrierId”:838,
“名称”:“法航”
}, {
“CarrierId”:881,
“名称”:“英国航空公司”
}, {
“CarrierId”:1047,
“名称”:“欧洲之翼”
}, {
“CarrierId”:1218,
“名称”:“伊比利亚”
}, {
“CarrierId”:1324,
“名称”:“荷航”
}, {
“CarrierId”:1368,
“名称”:“汉莎航空”
}, {
“CarrierId”:1384,
“名称”:“瑞士”
}, {
“CarrierId”:1707年,
“名称”:“SAS”
}, {
“CarrierId”:1710,
“名称”:“布鲁塞尔航空公司”
}],
“货币”:[{
“代码”:“英镑”,
“符号”:“;”,
“千分之二”:“,”,
“小数分隔符”:“,
“SymbolOnLeft”:正确,
“MountandSymbol之间的空格”:false,
“舍入系数”:0,
“小数位数”:2
}]
};
var sorted=data.Quotes.sort((a,b)=>{返回a.MinPrice-b.MinPrice})
log(排序为[0])
您必须使用一个函数,该函数接受一个
回调函数作为参数

var minPrices=obj.Quotes.sort(function(item1,item2){
     return item1.MinPrice-item2.MinPrice;
});
一旦我们对
引号进行排序
MinPrice[0]
将返回带有较低
MinPrice
的对象

var obj={
“引言”:[{
“QuoteId”:1,
“MinPrice”:70.0,
“直接”:对,
“外侧腿”:{
“CarrierIds”:[1047],
“原始ID”:84892,
“DestinationId”:65698,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-02-01T01:05:00”
}, {
“QuoteId”:2,
“MinPrice”:85.0,
“直接”:对,
“界内腿”:{
“CarrierIds”:[1047],
“OriginId”:65698,
“DestinationId”:84892,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-02-01T04:23:00”
}, {
“QuoteId”:3,
“MinPrice”:86.0,
“直接”:对,
“界内腿”:{
“CarrierIds”:[1047],
“OriginId”:65698,
“DestinationId”:84892,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-02-01T01:57:00”
}, {
“QuoteId”:4,
“MinPrice”:164.0,
“直接”:对,
“外侧腿”:{
“CarrierIds”:[1047],
“原始ID”:84892,
“DestinationId”:65698,
“出发日期”:“2017-02-13T00:00:00”
},
“界内腿”:{
“CarrierIds”:[1047],
“OriginId”:65698,
“DestinationId”:84892,
“出发日期”:“2017-02-13T00:00:00”
},
“引用日期”:“2017-01-30T21:03:00”
}],
“地点”:[{
“PlaceId”:65698,
“IataCode”:“LHR”,
“名称”:“伦敦希思罗机场”,
“类型”:“站”,
“SkyscannerCode”:“LHR”,
“城市名称”:“伦敦”,
“CityId”:“LOND”,
“国家名称”:“联合王国”
}, {
“PlaceId”:84892,
“IataCode”:“TXL”,
“名称”:“柏林泰格尔”,
“类型”:“站”,
“SkyscannerCode”:“TXL”,
“城市名称”:“柏林”,
“城市ID”:“柏林”,
“国家名称”:“德国”
}],
“承运人”:[{
“CarrierId”:838,
“名称”:“法航”
}, {
“CarrierId”:881,
“名称”:“英国航空公司”
}, {
“CarrierId”:1047,
“名称”:“欧洲之翼”
}, {
“CarrierId”:1218,
“名称”:“伊比利亚”
}, {
“CarrierId”:1324,
“名称”:“荷航”
}, {
“CarrierId”:1368,
“名称”:“汉莎航空”
}, {
“CarrierId”:1384,
“名称”:“瑞士”
}, {
“CarrierId”:1707年,
“名称”:“SAS”
}, {
“CarrierId”:1710,
“名称”:“布鲁塞尔航空公司”
}],
“货币”:[{
“代码”:“英镑”,
var quotes = a["Quotes"];

quotes.sort(function(a, b) {
    return a.MinPrice - b.MinPrice;
});


console.log(JSON.stringify(quotes));