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

请求实现:基于label字段匹配输入载荷,生成含id和role的目标输出

实现基于label字段(忽略大小写)的跨数据集匹配与字段提取

输入输出示例

输入1(角色映射数据)

{
    "labelItems": [{
        "label": "manager",
        "role": "MA"
    }, {
        "label": "Developer",
        "role": "DEV"
    }]
}

输入2(带ID的标签数据)

{
    "List": [{
            "id": "M123",
            "label": "Manager"
        },
        {
            "id": "L240",
            "label": "Lead"
        },
        {
            "id": "D250",
            "label": "Developer"
        }
    ]
}

目标输出

{
    "Labels": [{
            "id": "M123",
            "role": "MA"
        },
        {
            "id": "D250",
            "role": "DEV"
        }
    ]
}

实现思路

  • 先把输入1的labelItems转换成小写label为键、role为值的映射表,快速定位匹配的角色。
  • 遍历输入2的List数组,将每个元素的label转成小写后去映射表中查找对应role。
  • 找到匹配项时,提取该元素的id和对应的role,组合成新对象加入结果数组。
  • 最后把结果数组包装成{ "Labels": [...] }的结构。

代码实现(JavaScript)

function matchLabels(input1, input2) {
    // 构建小写label到role的映射表
    const roleMap = input1.labelItems.reduce((map, item) => {
        map[item.label.toLowerCase()] = item.role;
        return map;
    }, {});

    // 筛选匹配项并生成结果
    const matchedLabels = input2.List
        .filter(item => roleMap.hasOwnProperty(item.label.toLowerCase()))
        .map(item => ({
            id: item.id,
            role: roleMap[item.label.toLowerCase()]
        }));

    return { Labels: matchedLabels };
}

// 测试用例
const input1 = {
    "labelItems": [{
        "label": "manager",
        "role": "MA"
    }, {
        "label": "Developer",
        "role": "DEV"
    }]
};

const input2 = {
    "List": [{
            "id": "M123",
            "label": "Manager"
        },
        {
            "id": "L240",
            "label": "Lead"
        },
        {
            "id": "D250",
            "label": "Developer"
        }
    ]
};

console.log(matchLabels(input1, input2));

关键说明

  • 用reduce构建映射表,把查找操作的时间复杂度降到O(1),处理大数据集时效率更高。
  • 所有label都转成小写后再匹配,彻底忽略大小写差异。
  • 先过滤再映射,只保留有对应role的项,避免生成无效数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:40:29