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

C# 合并同一列表内reference相同元素且无重复的实现方法

实现思路

核心逻辑是通过哈希映射(字典)做中间聚合,两步即可完成:

  • 遍历原列表,以reference值为键,累加拼接对应description值
  • 将聚合完成的哈希映射转换为最终的无重复对象列表

该逻辑不依赖特定编程语言,所有支持哈希映射的语言都可以按这个流程实现。

Python 实现示例

假设你的原始列表格式如下:

original_list = [
    {"reference": "123", "description": "this should"},
    {"reference": "124", "description": "sth"},
    {"reference": "125", "description": "sth"},
    {"reference": "123", "description": "be one"}
]

实现代码:

# 临时字典存储聚合结果
temp_dict = {}
for item in original_list:
    ref = item["reference"]
    desc = item["description"]
    if ref in temp_dict:
        # 拼接时加空格分隔,和示例效果一致
        temp_dict[ref] += f" {desc}"
    else:
        temp_dict[ref] = desc

# 转换为最终列表
result_list = [{"reference": k, "description": v} for k, v in temp_dict.items()]
JavaScript 实现示例

原始列表格式:

const originalList = [
    {reference: "123", description: "this should"},
    {reference: "124", description: "sth"},
    {reference: "125", description: "sth"},
    {reference: "123", description: "be one"}
]

实现代码:

const tempMap = new Map()
originalList.forEach(item => {
    const ref = item.reference
    const desc = item.description
    if (tempMap.has(ref)) {
        tempMap.set(ref, `${tempMap.get(ref)} ${desc}`)
    } else {
        tempMap.set(ref, desc)
    }
})

// 转换为最终列表
const resultList = Array.from(tempMap.entries()).map(([ref, desc]) => ({
    reference: ref,
    description: desc
}))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:15:05