如何在打字稿中合并两个对象?

时间:2017-03-23 12:12:54

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

所以我发出两个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

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

帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

有点不清楚你的意思

  

我得到了相应的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
    }
})

答案 1 :(得分:-2)

您只需要为对象添加密钥。

就像下面这样:

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

var secondResponse = {
    dep_name: ''
}   

secondResponse.globalObj = firstResponse;

这应该返回更新的secondResponse json