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

JavaScript中基于正则对比标准数组与对象数组提取匹配值的方法

JavaScript实现方案

实现逻辑

  • 遍历folderHierarchy.path对象数组的每一项,取出当前元素的innerpath属性值
  • 遍历concaternated字符串数组,用你提供的正则提取每个字符串最后一个/后的内容,和当前innerpath做全等比对
  • 匹配成功后即可将对应字符串赋值给parentpath变量,你也可以根据业务需求调整为收集所有匹配结果的逻辑

完整代码

// 原始数组定义
const concaternated = [
  "Regression Scripts/WPF Scripts/Maps/Map Tools/Alerting Areas",
  "Regression Scripts/WPF Scripts/Application Access/Application Logoff",
  "Regression Scripts/WPF Scripts/Application Logon",
  "Regression Scripts/WPF Scripts/Resourcing/Booking on / off - CW (incl TRLI)",
  "Regression Scripts/WPF Scripts/Resourcing/Call Sign Transfer",
  "Regression Scripts/WPF Scripts/Contact Directory/Maintain Contact Directory",
  "Regression Scripts/WPF Scripts/Contact Directory/Contact Directory Methods",
  "Regression Scripts/WPF Scripts/Maps/Map Favourites"
];

const folderHierarchy = {
  path: [
    { id: "2", outerpath: "Regression Scripts", innerpath: "WPF Scripts" },
    { id: "2", outerpath: "WPF Scripts", innerpath: "Application Logon" },
    { id: "2", outerpath: "WPF Scripts", innerpath: "Alarms Administration" },
    { id: "2", outerpath: "WPF Scripts", innerpath: "Application Access" },
    { id: "2", outerpath: "WPF Scripts", innerpath: "Contact Directory" },
    { id: "2", outerpath: "WPF Scripts", innerpath: "Maps" }
  ]
};

// 你指定的正则规则
const regex = /([^/]+$)/gm;
let parentpath = '';

// 遍历执行匹配
folderHierarchy.path.forEach(item => {
  const currentInner = item.innerpath;
  const matchedItem = concaternated.find(str => {
    const endPart = str.match(regex);
    return endPart && endPart[0] === currentInner;
  });
  if (matchedItem) {
    parentpath = matchedItem;
    // 此处可添加你需要的后续业务逻辑
    console.log(`匹配到对应路径:${parentpath}`);
  }
});

说明

如果需要保留所有匹配结果而非覆盖parentpath,可以定义一个空数组,每次匹配成功后将matchedItem推入数组即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:06:05