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

如何从嵌套数组中提取数据转换为单层JSON对象数组?

实现方案

你需要的是二维数组的扁平化操作,针对当前场景有以下几种常用实现方式:

  • 方法1:使用ES6 Array.prototype.flat() (最简便)
    flat方法默认仅扁平化1层嵌套,刚好匹配你的需求:
const destination = source.flat();

如果后续有更深层级的嵌套需求,可以传入指定深度参数,比如flat(3)代表扁平化3层嵌套,flat(Infinity)代表扁平化所有层级的嵌套。

  • 方法2:展开运算符+concat(兼容更低版本JS环境)
const destination = [].concat(...source);
  • 方法3:reduce实现(适合扁平化同时需要附加其他业务逻辑的场景)
const destination = source.reduce((prev, curr) => {
  return prev.concat(curr);
}, []);

注意:你给出的目标数据中Item 2的id值为20210728,和源数据中Item 2对应的20210729不一致,若为笔误上述方法可直接得到正确结果;如果是业务需求要修改id,可在扁平化后追加map处理即可:

const destination = source.flat().map(item => {
  // 自定义修改逻辑示例
  return item.item === 'Item 2' ? {...item, id: '20210728'} : item
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:30:01