簡體   English   中英

格式化時間,JavaScript量

[英]Formatting Time, Amount In Javascript

我的數據以這種方式返回。 我需要返回列表中的所有值,以確保按照我的解釋糾正了時間格式和票價。 我要刪除票價中的逗號,以及出發和到達時的AM和PM。 提前謝謝了。 因為大約有3個航班代碼,總共18個票價。

返回的響應。

[ { flightCode: 'SHA735',
    departure: '01:30 PM',
    arrival: '01:55 PM',
    fareCode: 'T Class',
    fare: '4,000',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30 PM',
    arrival: '01:55 PM',
    fareCode: 'B Class',
    fare: '5,900',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30 PM',
    arrival: '01:55 PM',
    fareCode: 'I Class',
    fare: '6,600',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30 PM',
    arrival: '01:55 PM',
    fareCode: 'H Class',
    fare: '7,500',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30 PM',
    arrival: '01:55 PM',
    fareCode: 'H Class',
    fare: '7,500',
    baggage: '20' } ]

預期結果:

[ { flightCode: 'SHA735',
    departure: '01:30',
    arrival: '01:55',
    fareCode: 'T Class',
    fare: '4000',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30',
    arrival: '01:55',
    fareCode: 'S Class',
    fare: '5000',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30',
    arrival: '01:55',
    fareCode: 'E Class',
    fare: '5300',
    baggage: '20' },
  { flightCode: 'SHA735',
    departure: '01:30',
    arrival: '01:55',
    fareCode: 'B Class',
    fare: '5900',
    baggage: '20' }
]

我的Javascript代碼如下。

 const $ = cheerio.load(html);
        const format = {
             klasses: new Array(), 
        }
        const result = [];

        const flights = $('.flight-result > .tbody').find('.no-of-flights').toArray();

        flights.forEach(function(flight, _id) {

            result[_id] = Object.assign({},format);
            const flightCode = $(flight).find('p.font-reg.redcolor').contents().filter(function(){
                return this.type === 'text';
            }).text().trim();
            const times = $(flight).find('p.font-reg.redcolor').find('small').html().match(/\d\d:\d\d [AP]M/g);
            const flightClassContainer = $(flight).find('.flightclasscontainer').toArray();

            flightClassContainer.forEach((flightClass, __id) => {
                result[_id].klasses[__id]   = {

                    flightCode:$(flight).find('p.font-reg.redcolor').contents().filter(function () {
                        return this.type === 'text';
                    }).text().trim(),
                    departure: times[0],
                    arrival: times[1],
                    fareCode: $(flightClass).find('.class').text(),
                    fare: $(flightClass).find('.price').text(),
                    baggage: '20'
                 }
            })
        });

        let items = [].concat(...result.map(o => o.klasses));
         console.log(items);
        return items;

使用split(' ')[0]刪除時間參數AM/PMreplace(',','')替換票價中的逗號。

 var flights = [ { flightCode: 'SHA735', departure: '01:30 PM', arrival: '01:55 PM', fareCode: 'T Class', fare: '4,000', baggage: '20' }, { flightCode: 'SHA735', departure: '01:30 PM', arrival: '01:55 PM', fareCode: 'B Class', fare: '5,900', baggage: '20' }, { flightCode: 'SHA735', departure: '01:30 PM', arrival: '01:55 PM', fareCode: 'I Class', fare: '6,600', baggage: '20' }, { flightCode: 'SHA735', departure: '01:30 PM', arrival: '01:55 PM', fareCode: 'H Class', fare: '7,500', baggage: '20' }, { flightCode: 'SHA735', departure: '01:30 PM', arrival: '01:55 PM', fareCode: 'H Class', fare: '7,500', baggage: '20' } ]; flights.map((flight) => { flight.departure = flight.departure.split(' ')[0]; flight.arrival = flight.arrival.split(' ')[0]; flight.fare = flight.fare.replace(',',''); }); console.log(flights); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM