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

MongoDB中如何将两个数组合并为对象内的TV_values新数组

数组合并及字段处理实现方案

需求说明

将输入JSON中的TV数组与values数组按对应索引位置合并为新数组TV_values,同时从TV元素自带的ISO格式时间字段T中提取出date(日期)、hour(小时)两个新增字段。

核心实现逻辑

  • 遍历TV数组,同时根据当前索引读取values数组对应位置的数值
  • 对T字段做字符串拆分:以T字符为分隔符,前半部分即为date值,后半部分前两位字符转数字即为hour值
  • 合并原有TV元素属性、对应values值、新增的date和hour字段,作为TV_values数组的元素

代码示例

JavaScript 实现

function processInputData(input) {
  const { TV, values } = input;
  const TV_values = TV.map((tvItem, index) => {
    const [dateStr, timeStr] = tvItem.T.split('T');
    const hour = Number(timeStr.slice(0, 2));
    return {
      ...tvItem,
      date: dateStr,
      hour,
      values: values[index]
    };
  });
  return { TV_values };
}

Python 实现

def process_input_data(input_data: dict) -> dict:
    tv_list = input_data["TV"]
    values_list = input_data["values"]
    tv_values = []
    for index, tv_item in enumerate(tv_list):
        # 拆分时间字段获取日期和小时
        date_part, time_part = tv_item["T"].split("T")
        hour = int(time_part[:2])
        # 合并字段生成新元素
        new_item = tv_item.copy()
        new_item.update({
            "date": date_part,
            "hour": hour,
            "values": values_list[index]
        })
        tv_values.append(new_item)
    return {"TV_values": tv_values}

代入题目给出的输入结构运行上述代码,即可得到你提供的预期输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:57:02