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

在Vue方法中构造指定嵌套结构数组的实现方法咨询

解决方案

你需要构造的是以分类ID为键、对应对象数组为值的对象结构,而非普通数组,调整逻辑如下:

  1. 首先在data中新增一个变量用于存储最终构造的结果,方便后续调用
  2. 在testChange方法中按照目标格式逐层构造结构即可

修改后的完整代码如下:

var vm = 
new Vue({
  el: "#app",
  props: { 

  },
  data: {
    testing_dates:['2021-11-29', '2021-11-30'],
    cat_id: [123],
    // 新增存储结果的变量
    resultData: {}
  },
  methods: {
    testChange(event, id){
      const item = "B-24";
      const selectedDate = event.target.value;
      // 注意你传入的id是数组[123],所以取第一个元素转成字符串作为键
      const catKey = String(id[0]);

      // 构造目标结构
      this.resultData[catKey] = [
        {
          item: item,
          new_date: selectedDate
        }
      ]

      // 打印验证结果
      console.log(this.resultData);
    },
  },
});

如果需要支持同一个分类ID下追加多条数据而非覆盖,可以调整为如下逻辑:

testChange(event, id){
  const item = "B-24";
  const selectedDate = event.target.value;
  const catKey = String(id[0]);

  // 如果当前分类ID对应的数组不存在,先初始化空数组
  if(!this.resultData[catKey]) {
    this.resultData[catKey] = []
  }
  // 往数组中追加新的对象
  this.resultData[catKey].push({
    item: item,
    new_date: selectedDate
  })

  console.log(this.resultData);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:36:00