当前位置:问答中心开发实战Vue 如何将获取到的数组对象 合并组成新数组对象?

Vue 如何将获取到的数组对象 合并组成新数组对象?

0
佛渡有缘人 管理员 提问于 10月 前

原素组对象:

[
    {
        "title": "标题",
        "comps": [
            {
                "id": 88,
                "name": "bb",
                "nameEn": "",
                "modes": "INDICATECARD",
            },
            {
                "id": 88,
                "name": "bb",
                "nameEn": "",
                "modes": "INDICATECARD",
            }
        ]
    },
    {
        "title": "标题",
        "comps": [
            {
                "id": 83,
                "name": "阿萨德",
                "nameEn": "ad",
                "modes": "CHARTPIE",
            }
        ]
    },
    {
        "title": "标题",
        "comps": [
            {
                "id": 85,
                "name": "测试001",
                "nameEn": "test0011",
                "modes": "CHARTPIE",
            }
        ]
    },
    {
        "title": "标题",
        "comps": [],
        "guid": 1658455624480
    }
]

需要实现成这样:

[
    {
        "title": "标题",
        "compAryIds": [
            88,
            88
        ]
    },
    {
        "title": "标题",
        "compAryIds": [
            83
        ]
    },
    {
        "title": "标题",
        "compAryIds": [
            85
        ]
    },
    {
        "title": "标题",
        "compAryIds": [],
    }
]

我的实现方法:

saveEdit() {
  const compIds = [];
  const arr = [];
  this.floors.map((floor) => {
    floor.comps.map((comp) => {
      arr.push(comp.id);
      let obj = {};
      obj.title = floor.title;
      obj.compAryIds = arr;
      compIds.push(obj);
      console.log(compIds);
    });
  });
  createRowData(compIds).then(() => {
    this.$message.success('保存成功');
  });
},

但是打印出来的确是这样,求教哪里写错了:

Vue 如何将获取到的数组对象 合并组成新数组对象?

1 人参与回答
1
码云 管理员 发布于 10月 前
const result = this.floors.map(item => ({ title: item.title, compAryIds: item.comps.map(_item => _item.id) }))
console.log(result)

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们