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

Google Apps Script:如何按条件合并二维数组中的同类项?

处理二维数组中带"trailing"前缀的条目

实现思路

  1. 用字典存储所有不带"trailing"前缀的父类别条目,键为标题,值为对应列表;
  2. 遍历数组中的"trailing"条目,去除前缀得到父标题,将对应数据追加到字典中父标题的列表末尾;
  3. 最后将字典的值转换为列表,得到目标结果。

代码实现

# 原始数组
array = [['trailingInterestExpense', 4], ['InterestExpense', 1, 2, 3],
         ['trailingIncomeTax', 4], ['IncomeTax', 10, 20, 30]]

# 初始化字典存储父类别数据
data_dict = {}

# 收集所有父类别条目
for item in array:
    title = item[0]
    if not title.startswith('trailing'):
        data_dict[title] = item.copy()

# 处理带trailing前缀的条目,追加数据到对应父类别
for item in array:
    title = item[0]
    if title.startswith('trailing'):
        parent_title = title.lstrip('trailing')
        if parent_title in data_dict:
            data_dict[parent_title].extend(item[1:])

# 转换为目标数组格式
result = list(data_dict.values())
print(result)

运行结果

[['InterestExpense', 1, 2, 3, 4], ['IncomeTax', 10, 20, 30, 4]]

注:你给出的预期结果中IncomeTax末尾是40,但原始数组中trailingIncomeTax对应的数据是4,上述代码运行结果会在30后追加4。若实际需要追加40,只需修改原始数组中对应的值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:56:00