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

如何从含日期的字符串中获取最新日期对应的Type of Check值

解决方法

你的问题核心是只提取了日期,但没把日期和对应的「Type of Check」关联起来。可以通过先拆分独立记录块、再逐个解析的方式解决,具体代码如下:

var myString = `Date: 04/08/2020,
Type of Check: Large,
Investors: ABC

 -- 

Date: 01/22/2021,
Type of Check: Debt,
Investors: ABC

 -- 

Date: 01/01/2022,
Type of Check: Balance,
Investors: ABC`;

// 1. 按分隔符拆分每个记录块,过滤空内容
const recordBlocks = myString.split(' -- ').map(block => block.trim()).filter(block => block);

// 2. 解析每个块,提取日期和对应的Type of Check
const parsedRecords = recordBlocks.map(block => {
    const dateMatch = block.match(/Date: (\d{1,2}\/\d{1,2}\/\d{4})/);
    const typeMatch = block.match(/Type of Check: (\w+)/);
    
    return {
        date: dateMatch ? new Date(dateMatch[1]) : null,
        typeOfCheck: typeMatch ? typeMatch[1] : null
    };
}).filter(record => record.date && record.typeOfCheck); // 过滤无效记录

// 3. 按日期倒序排序,取最新的记录
const latestRecord = parsedRecords.sort((a, b) => b.date.getTime() - a.date.getTime())[0];

// 4. 输出结果
console.log(`Type of Check: ${latestRecord.typeOfCheck}`); // 输出 Type of Check: Balance

关键说明:

  • 用split(' -- ')将原始字符串拆分成独立的信息块,每个块对应一组完整的日期和检查类型数据
  • 针对每个块,用正则分别提取日期和「Type of Check」内容,转换成带关联关系的对象
  • 对有效记录按日期倒序排序,第一个元素就是最新日期对应的记录
  • 注意修正你原始代码里的拼写错误:getTim应该是getTime()

内容的提问来源于stack exchange,提问作者Anthony H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:10:22