我有一个包含一系列日期和其他信息的字符串。我想识别字符串中的最新日期并返回与该日期关联的“检查类型”的值。
对于下面的示例,理想的输出是“支票类型:余额”,因为这是字符串中的最新日期。
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"
我已经弄清楚如何使用下面的代码来识别最近的日期,但我不知道如何返回与该日期关联的“支票类型”值。
var dates = myString.match(/(\d{1,4}([.\-/])\d{1,2}([.\-/])\d{1,4})/g);
const descendingDateOrder = dates.sort((a, b) => {
return new Date(b).getTime() - new Date(a).getTim
最佳答案
您所要做的就是将字符串转换为数组,其中每组数据都是一个单独的成员。由于字符串中有一个“分隔符”,因此这很容易。
const myArray = myString.split("--");
您已经计算出最近的日期 - descendingDateOrder[0]
。使用它,您可以过滤数组以获取正确的数据组。
const match = myArray.filter(item => item.includes(descendingDateOrder[0]));
但请记住,如果您在同一日期有多个条目,您将在此处获取所有条目。
现在您已经获得了匹配的数据组(也称为字符串),因为此处的数据是用逗号分隔的,您可以将其拆分为字符串数组,并使用其索引获取所需的文本。
const matchedTypeOfCheck = match[0].split(",")[1].trim();
trim()
方法删除前导和尾随空格。
关于javascript - 查找字符串中的最新日期并返回与该日期关联的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74198968/