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

如何提取嵌套数组的title字段并重命名后合并到目标对象数组?

解决数组对象合并问题

你的核心需求是将array1中对应位置的title字段重命名为new_title_name后,合并到array的每个对象中。先分析你现有代码的问题:

  • 使用array.push()会直接在数组末尾新增一个对象,而非将字段合并到array已有的两个对象里,导致结构不符合预期。
  • array1的每一项是嵌套数组(比如[{title: 'director', ...}]),直接访问item.title会得到undefined,需要先取出数组内部的对象再获取title。

正确实现代码

const array = [{ name: 'bob'},{ name: 'don' }];
const array1 = [[{ title: 'director', dob: 'xxx'}] ,[{ title: 'manager', dob: 'xxx'}]];

// 合并两个数组对应位置的对象
const mergedArray = array.map((person, index) => {
  // 从array1对应索引的嵌套数组中提取title
  const jobTitle = array1[index]?.[0]?.title;
  // 合并原对象和新字段
  return {
    ...person,
    new_title_name: jobTitle
  };
});

console.log(mergedArray);

代码说明

  • array.map()遍历array的每个对象,同时获取当前索引index,用来匹配array1中对应位置的数据。
  • 用?.可选链操作符处理边界情况:如果array1的长度小于array,或者某个位置的嵌套数组为空时,不会抛出错误,而是返回undefined。
  • 使用扩展运算符...person保留原对象的所有属性,再新增new_title_name字段,避免覆盖原数据。

输出结果

[
  { name: 'bob', new_title_name: 'director' },
  { name: 'don', new_title_name: 'manager' }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 11:00:46