【问题标题】:How to merge two objects in typescript?如何在打字稿中合并两个对象?
【发布时间】:2017-03-23 12:12:53
【问题描述】:

所以我发出两个 get 请求,一个请求返回: department: string[]

另一个get请求返回如下对象:

globalObj: {
  count: number[],
  admin: {
    department: string,
    email: string,
    img_path: string,
    name: string
  }[]
}

我希望能够合并这两个对象,以便获得以下内容:

departments: {
  dep_name: string,
  globalObj: {
    count: number[],
    admin: {
      department: string,
      email: string,
      img_path: string,
      name: string
    }[]
  }
}[];

每个部门名称的含义,我得到它对应的globalObj

我只是不知道如何合并它们。

我们将不胜感激。

谢谢

【问题讨论】:

  • globalObj.admin.department 的值是否唯一?
  • 我假设第一个请求返回的department数组中的字符串值对应globalObj.admin.department?
  • 不,它们不是唯一的。 @Paarth
  • 不一定是@Paarth
  • 如何合并它们? @Paarth

标签: javascript object typescript object-literal get-request


【解决方案1】:

你的意思有点不清楚

我得到对应的globalObj

但是如果你需要合并具有相同 globalObj 的数组,下面的代码就可以解决问题:

let globalObj = {
  count: [1,2,3],
  admin: [
    {
        department: 'a',
        email: 'b',
        img_path: 'c',
        name: 'd'
    }
  ]
}

let departmentNames = ["x", "y", "z"];

let merged = departmentNames.map((depName) =>
{
    return {
        dep_name: depName,
        globalObj: globalObj
    }
})

【讨论】:

    【解决方案2】:

    您只需要向对象添加键。

    就像下面这个:

    var firstResponse = {
        globalObj: {
            count: [],
            admin: {
                department: '',
                email: '',
                img_path: '',
                name: ''
            }
        }
    }
    
    var secondResponse = {
        dep_name: ''
    }   
    
    secondResponse.globalObj = firstResponse;
    

    这应该返回一个更新的secondResponsejson

    【讨论】:

      猜你喜欢
      • 2021-02-27
      • 2018-09-15
      • 2019-04-20
      • 2019-07-17
      • 2018-06-15
      • 2017-09-23
      • 2016-08-30
      相关资源
      最近更新 更多