Task: Transform array of keys into one object and assign each key with an empty string e.g.("").
Problem: Keys are also representing different levels of depth in the result object (e.g. defaultToolConf.graph.graphApiConf.url represents 4 levels of depth in object). Each level of depth is separated by a dot(.) in a key string.
Input (array):
[
'ADMIN_URL_REGEXP',
'BASE_PATH',
'appName',
'defaultToolConf',
'defaultToolConf.graph',
'defaultToolConf.graph.graphApiConf',
'defaultToolConf.graph.graphApiConf.markerCampaignsUrl',
'defaultToolConf.graph.graphApiConf.markerUrl',
'defaultToolConf.graph.graphApiConf.ndviUrl',
'defaultToolConf.graph.graphLineColors',
'defaultToolConf.query',
'defaultToolConf.query.canExportKml',
'defaultToolConf.query.isExportEnabled',
'defaultToolConf.query.isResizable',
'defaultToolConf.test',
'defaultToolConf.toolsPermissionsPath',
'token',
'token.format',
'token.key',
'token.paths'
]
Output (result object):
{
"ADMIN_URL_REGEXP": "",
"BASE_PATH": "",
"appName": "",
"defaultToolConf": {
"graph": {
"graphApiConf": {
"markerCampaignsUrl": "",
"markerUrl": "",
"ndviUrl": ""
},
"graphLineColors": ""
},
"query": {
"canExportKml": "",
"isExportEnabled": "",
"isResizable": ""
},
"test": "",
"toolsPermissionsPath": ""
},
"tokenInterceptor": {
"format": "",
"key": "",
"paths": ""
}
}
What I have done so far: https://jsfiddle.net/rt279mfz/
I managed to create a result object with multiple depth objects.
Problems: I had to assign key values as empty object {}. That means I would have to loop through all object keys (in multiple depths) and reassign values as an empty string instead of an empty object. I don't know if that is possible.
I have repeating keys in the result object.