Javascript API JSON响应选择最低价格
我正在对一个API进行AJAX调用,并得到以下json(如下)响应。我想从“报价”中得到最低的“MinPrice”,但似乎找不出最好的方法 我可以循环引用并将每个minprice推送到一个数组中,然后对该数组进行排序以获得最低值,但我还需要特定的引用额外的信息,即它是“outboundleg”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
{
"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));