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

JavaScript如何移除嵌套数组中每个对象外层的包裹数组

实现方案

你需要的是将嵌套深度为1的二维数组扁平化为一维数组,以下是几种可行的实现方式:

方案1:使用ES2019 flat() 方法(推荐)

该方法是原生内置的数组扁平化API,默认扁平化深度为1,刚好适配你的场景:

// 原始API返回数据
const apiResponse = [
    [
      {
        fullname: 'Abc',
        email: 'xyz@gmail.com',
        phone: '03000000000',
      },
    ],
    [
      {
        fullname: 'edf',
        email: 'edf@gmail.com',
        phone: '03000000000',
      },
    ],
]

const flattenedResult = apiResponse.flat()

如果后续嵌套层级变更,可以传参数指定深度,传Infinity可扁平化所有层级:

const flattenedResult = apiResponse.flat(Infinity)

方案2:低版本环境兼容方案

如果运行环境不支持ES2019,可以用以下两种替代实现:

  • 展开运算符 + concat
const flattenedResult = [].concat(...apiResponse)
  • reduce 遍历实现
const flattenedResult = apiResponse.reduce((acc, current) => acc.concat(current), [])

方案3:固定场景高性能实现

如果你确定所有子数组都只会包含1个对象元素,可以直接取子数组的第一个元素,性能最优:

const flattenedResult = apiResponse.map(item => item[0])

内容的提问来源于stack exchange,提问作者Wahas Ali Mughal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:12:00