繁体   English   中英

如何通过javaScript传播语法为对象分配一些键

[英]How to assign an object some keys by javaScript spread syntax

我有以下对象:

var inv = {roles: {"xxx00": {roleId: "zzzz33"}}, assign: [1, 2, 3] }

结果如下:

{ roles: { "1234": {roleId: null}, "5678": {roleId: null}}}

我需要用以下结果合并对象:

{roles: {"1234": {roleId: null}, "5678": {roleId: null}, "xxx00": {roleId: "zzzz33"}}, assign: [1, 2, 3] }

我需要使用传播语法

知道在不丢失原始roleId的情况下语法应如何获得此结果吗?

以下是两个示例,一个没有对象突变,另一个带有。

 let inv = {roles: {"xxx00": {roleId: "zzzz33"}}, assign: [1, 2, 3] }; let res = { roles: { "1234": {roleId: null}, "5678": {roleId: null}}}; // create new object to spec, no mutation. let combine = { roles: { ...inv.roles, ...res.roles, }, assign: [ ...inv.assign ] }; console.log(combine); // mutate original object. console.log(inv); inv.roles = { ...inv.roles, ...res.roles, }; console.log(inv); 

只是这样做

const consolidated = {...inv, roles: {...inv.roles, ...result.roles} };

假设您只想将结果角色与inv var角色合并,这将创建基于inv的合并,但结果角色合并在inv角色中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM