我有一个场景,我必须从后端获取json文档,一个是网格定义,另一个是用户的网格自定义文件。在我的情况下,用户可以进行修改,但不能进行修改。
某些元素具有默认值,用户可以覆盖这些默认值,其他则是可选的。在我的文档中,所有数据都存储在column文档数组中,每列都有唯一的ID。
我该如何使用grid_info列作为基础,然后如果user_grid_info的列键被该键的用户值覆盖,并且添加未在grid_info中设置的键/值并输出组合的列数组>
{
"id" :"D0842C42-D43F-426D-A12E-D0141FE58337",
"_type" : "grid_info",
"columns" :[
{
"colId": "A3C031BA-C157-42D8-8208-9019B8B87061",
"headerName":"ID",
"field": "id",
"width" : 100,
"sortable": false
},
{
"colId": "671B1BAA-2D2E-419D-9C74-182D9E87A502",
"headerName":"Name",
"field": "name",
"width" : 150,
"sortable": true
},
{
"colId": "CCB26780-6474-4606-B9EA-750F80354599",
"headerName":"Zip Code",
"field": "zip",
"width" : 75,
"sortable": true
}
]
}
{
"id" :"A40D39F1-0849-4C68-A506-6EC89DBD7163",
"_type" : "user_grid_info",
"grid_key" : "grid_info::D0842C42-D43F-426D-A12E-D0141FE58337",
"user_id" : "3D10D638-39E1-40CD-A3A5-2B0D9AB51F1F",
"columns" :[
{
"colId": "A3C031BA-C157-42D8-8208-9019B8B87061",
"hide" : true,
},
{
"colId": "671B1BAA-2D2E-419D-9C74-182D9E87A502",
"position":1,
"width" : 200
},
{
"colId": "CCB26780-6474-4606-B9EA-750F80354599",
"headerName":"Zip Code +4",
"position":2,
"width" : 100
}
]
}
答案 0 :(得分:0)
您可以立即合并对象以使用网格中的配置,例如:
let defaultConfiguration = { // your object from json with grid_info values }
let userConfiguration = { //your object from json with user grid info values }
所以只需创建一个合并变量
let merge = {... defaultConfiguration,... userConfiguration}
结果是defaultConfiguration的所有值,而userConfiguration的所有值都不同。