我想这样添加数据

类别1


公司1
公司2
公司3


类别2


公司1
公司2
公司3


我的代码



getlist() {
      var list = this.lists;
      var category
    //   var company
      this.$http.get("/getlist")
      .then((res) => {
          var obj = res.data;
          for(var [key] in obj) {
              var company =[];
            for(var i in obj[key].company) {
                company.push( obj[key].company[i].name)
            }
              console.log(company);
              list.push({
                  "category_name" : obj[key].name,
                  "companies": [
                      {name: company}
                      ]
              })
              list.category_name = '',
              list.companies = '',
              company= ''
          }
      })
  },





列表形式看起来像这样



         {
                category_name: 'Category1',
                companies: [
                    {name: 'company1'},
                ]
            },





数据看起来像这样



[
    {
        "name": "Category2",
        "company": [
            {
                "name": "company1"
            }
            {
                "name": "company2"
            }
        ]
    }
    {
        "name": "Category2",
        "company": [
            {
                "name": "company1"
            }
            {
                "name": "company2"
            }
        ]
    }

]




在这种情况下,我不知道如何使用forloop。

它可以在list.push()中使用double forloop吗?

ㅠㅠ对我来说很累。

您的帮助对您来说是幸运的lucky

最佳答案

据我了解,您只想重命名从服务器检索的数据对象的键。

应该这样做:

getlist() {
  this.$http.get('/getlist')
    .then(res => {
      let list = [];
      for (let item of res.data) {
        let newItem = {
          category_name: item.name,
          companies: item.company
        }
        list.push(newItem);
      }
      this.lists = list;
    })
    .catch(err => {
      console.error('Error retrieving "/getlist":', err)
    });
}

09-11 19:08
查看更多