如何在JavaScript中根据第一列合并二维数组的行?
合并二维数组中第一列相同的行
可以用字典实现分组合并,以下是Python的具体实现方案:
input_arr = [['Needs Work', 'Joe'], ['Needs Work', 'Jill'], ['Needs Work', 'Jack'], ['Complete', 'Sean'], ['Complete', 'Joe'], ['Not Started', 'Laura'], ['Needs Work', 'Jack']] # 初始化分组字典,用第一列值做键,收集对应第二列元素 grouped = {} for status, name in input_arr: if status in grouped: grouped[status].append(name) else: grouped[status] = [name] # 转换为目标格式的二维数组,将收集到的元素用逗号拼接 result = [[key, ','.join(value)] for key, value in grouped.items()] print(result)
运行代码后会输出:
[['Needs Work', 'Joe,Jill,Jack,Jack'], ['Complete', 'Sean,Joe'], ['Not Started', 'Laura']]
逻辑说明
- 借助字典的键唯一性,按第一列的值对第二列元素做分组收集
- 遍历输入数组时,将相同第一列值对应的第二列元素追加到同一列表中
- 最后通过列表推导式,把字典的键值对转换成要求的二维数组格式,同时用逗号拼接收集到的元素
内容的提问来源于stack exchange,提问作者SLee
相关产品推荐
相关产品推荐

