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

JavaScript中如何使用forEach遍历数组生成指定结构的对象数组

问题核心错误点

  • 初始定义的returnData为对象类型,目标结构外层为数组类型,类型不匹配
  • 遍历数组时使用Object.entries转成键值对后给对象的索引键赋值,最终得到的是数字为键的对象而非数组
  • 给每个元素赋值时额外包裹了一层数组,层级和目标结构不符
  • 原代码未添加目标结构要求的md、drillup、drilldown等字段

正确实现代码

// 初始化返回值为数组
const returnData = []
// 注意你的原代码里获取数据的变量是dataFirstSecond,遍历用的是dataRegularSecondary,先确认变量对应关系
const dataFirstSecond = await informationModel.getdata()

// 直接遍历源数据数组即可,不需要转Object.entries
dataFirstSecond.forEach(item => {
  returnData.push({
    name: item.name,
    data: [
      {
        y: item.y,
        total: item.total_ada,
        // 以下字段根据你的业务实际取值调整,示例是你给出的目标结构里的固定值
        md: "1",
        name: "National",
        drillup: item.name === "First Data" ? "level0" : "National",
        drilldown: "3",
        next: "level2"
      }
    ]
  })
})

调整说明

如果md、drillup、drilldown等字段的值需要从源数据动态获取,直接把固定值替换为对应的item.xxx字段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:45:03