javascript - 如何通过javascript传播语法为对象分配一些键
问题描述
我有以下对象:
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] }
我需要使用扩展语法来获得它
知道语法应该如何在不丢失原始角色 ID 的情况下获得此结果吗?
解决方案
下面是两个例子,一个没有对象突变,另一个有。
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);
推荐阅读
- javascript - 是的,当联系人为空时不会触发 useForm 验证错误
- swift - OpenStack Swift proxy-server.conf 已经有 [filter:authtoken] 部分
- javascript - POST 请求在客户端接收重定向
- firebase - 有没有办法知道 Firestore 实时查询正在返回初始数据获取与更新?
- python - 在字典中交换一个键和它的一个值
- java - 使用 gson 时的空 json 文件
- jquery - Bootstrap 5 菜单不切换主要内容
- python - 记录/打印语句在 Python Django 应用程序的子进程中不起作用
- c# - WPF Mediaelement 在重复快进的位置属性时冻结
- android - Ionic Capacitor 页面在某些 Android 设备上闪烁