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

如何将AJAX循环返回的多组整数合并为单个数组输出

问题根因

你在forEach循环内部每次遍历都单独创建数组并打印,同时每次更新图表系列时都传入单元素数组,因此最终输出多个独立的单元素数组。

解决方法

在循环外层提前声明一个空数组用于收纳所有数值,遍历结束后再统一打印、更新图表即可,修改后代码如下:

$.ajax(settings).done(function(response) {
  $.get(settings).then(data => makeTable(data.contracts))
  const makeTable = (contracts) => {
      const body = document.getElementById('chart');
      // 提前声明空数组存储所有小时数
      const allHours = []
      contracts.forEach((person, index) => {
        person.details.forEach((entry) => {
          // 把当前数值推入汇总数组
          allHours.push(entry.hours)
        })
      })
      // 循环结束后统一更新图表、打印
      chart.updateSeries([{
        name: 'Hours',
        data: allHours
      }])
      console.log(allHours)
  }
})

如果你的需求是把每个entry.hours拆分成单个数字再汇总到同一个数组,只需要把内层推入数组的逻辑改成如下即可:

// 拆分数字后把所有元素合并到汇总数组
allHours.push(...Array.from(String(entry.hours), Number))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:39:03