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

如何调整JS数组嵌套对象结构,在日期层级下新增区域和作业两级结构

你只需要调整reduce内的嵌套层级初始化逻辑,把原来日期对应zone数组的结构,替换成你需要的zones对象嵌套结构即可,修改后的核心代码如下:

computed: {
  numbersByName() {
    return this.rows.reduce((obj, show) => {
      // 解构取出当前行需要的字段,加变量声明避免全局污染
      const { name, zone, job, start_date: date } = show
      // 初始化人员层级
      obj[name] = obj[name] || { dates: {} }
      // 初始化日期层级,日期对应包含zones属性的对象
      obj[name].dates[date] = obj[name].dates[date] || { zones: {} }
      // 初始化区域层级,每个区域对应任务数组
      obj[name].dates[date].zones[zone] = obj[name].dates[date].zones[zone] || []
      // 把当前任务存入对应区域的数组
      obj[name].dates[date].zones[zone].push(job)

      return obj 
    }, {})
  },
}

运行后输出的结构和你期望的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:15:01