You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在JS中格式化数据:移除AM/PM标识及金额逗号,返回指定数组格式

处理航班数据格式的解决方案

我来帮你搞定这个数据格式化的需求,用JavaScript就能轻松实现,下面是具体的步骤和代码示例:

核心思路

  • 遍历原始数据中的每一组航班信息
  • 对departure和arrival字段,移除末尾的AM/PM标识
  • 对fare字段,去掉数值中的逗号分隔符
  • 保留其他不需要修改的字段,最终返回格式化后的数组

代码实现

// 你的原始数据
const originalFlightData = [{"klasses":[{"flightCode":"SHA735","departure":"03:50 PM","arrival":"04:15 PM","fareCode":"T Class","fare":"4,000","baggage":"0"},{"flightCode":"SHA735","departure":"03:50 PM","arrival":"04:15 PM","fareCode":"S Class","fare":"5,000","baggage":"0"},{"flightCode":"SHA735","departure":"03:50 PM","arrival":"04:15 PM","fareCode":"E Class","fare":"5,300","baggage":"0"}]}];

// 定义格式化函数
const formatFlightData = (rawData) => {
  return rawData.map(group => {
    return {
      ...group,
      klasses: group.klasses.map(flight => {
        // 移除departure和arrival的AM/PM
        const cleanedDeparture = flight.departure.replace(/ (AM|PM)$/, '');
        const cleanedArrival = flight.arrival.replace(/ (AM|PM)$/, '');
        // 移除fare中的逗号,这里保留字符串类型,如需数字可转成parseInt/parseFloat
        const cleanedFare = flight.fare.replace(/,/g, '');
        
        return {
          ...flight,
          departure: cleanedDeparture,
          arrival: cleanedArrival,
          fare: cleanedFare
        };
      })
    };
  });
};

// 执行格式化并输出结果
const formattedData = formatFlightData(originalFlightData);
console.log(formattedData);

代码说明

  • 用map方法遍历数组,属于纯函数操作,不会修改原始数据
  • 正则表达式/(AM|PM)$/精准匹配字段末尾的AM或PM,通过replace移除
  • fare字段用replace(/,/g, '')全局替换所有逗号,如果你需要数值类型的票价,可以把cleanedFare改成parseInt(flight.fare.replace(/,/g, ''), 10)
  • 展开运算符...用来保留其他不需要修改的字段(比如flightCode、fareCode),避免重复写字段

格式化后的结果

[
  {
    "klasses": [
      {
        "flightCode": "SHA735",
        "departure": "03:50",
        "arrival": "04:15",
        "fareCode": "T Class",
        "fare": "4000",
        "baggage": "0"
      },
      {
        "flightCode": "SHA735",
        "departure": "03:50",
        "arrival": "04:15",
        "fareCode": "S Class",
        "fare": "5000",
        "baggage": "0"
      },
      {
        "flightCode": "SHA735",
        "departure": "03:50",
        "arrival": "04:15",
        "fareCode": "E Class",
        "fare": "5300",
        "baggage": "0"
      }
    ]
  }
]

内容的提问来源于stack exchange,提问作者user9663647

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:21:43