如何在打字稿中分配对象并替换对象名称?

时间:2018-05-22 18:30:01

标签: javascript typescript

我收到来自后端data.response.details的回复,我正在尝试创建一个名为newMember的新对象来替换details名称。同样,我想将所有属性从details推送到newMember?如何使用对象分配来实现这些任务?

main.ts

    public after(args: IResult , data: any) {
        const res: IResult = data.response.details;
                const newMember= Object.assign({}, res);
                return Promise.resolve(this.getInformation(args, newMember));
    }


data.response.details

    "patientProfile": {
                "firstName": "Rob",
                "lastName": "ALLen",
                "memberStatus": "Active"
                }

预期json应为

"newMember": {
"patientProfile": {
                    "firstName": "Rob",
                    "lastName": "ALLen",
                    "memberStatus": "Active"
                    }
}

2 个答案:

答案 0 :(得分:1)

你可以简单地完成任务:

const newObj = { newMember: data.response.details };

现在newObj.newMember拥有data.response.details的所有属性。请注意,这会创建详细信息的浅表副本。

如果由于某种原因你想要创建详细信息的深层克隆,因为你只是使用简单的字符串值,你可以这样做:

const newObj = { newMember: JSON.parse(JSON.stringify(data.response.details)) };

这可能是不必要的。

答案 1 :(得分:-1)

使用res为值

的newMember属性创建一个对象
 const newMember = Object.assign({},{"newMember": data.response.details});