trying to figure out how to dynamicly create a new nested object from this one:
JavaScript
x
8
1
object1 = {
2
DataStore : false,
3
Header: false,
4
Footer : false,
5
Sidebar : false,
6
Main : false,
7
}
8
to nested one like this:
JavaScript
1
18
18
1
const registerComponentsLocal = {
2
'DataStore': {
3
'debug': false
4
},
5
'Header': {
6
'debug': false
7
},
8
'Footer': {
9
'debug': false
10
},
11
'Sidebar': {
12
'debug': false
13
},
14
'Main': {
15
'debug': false
16
},
17
}
18
keys and values have to by dynamic. Only important thing is a structure of the final object. Any ideas would be greatly appricieated.
Advertisement
Answer
To create a new instance (i.e preserve the old one)
JavaScript
1
13
13
1
let originalObject = {
2
DataStore : false,
3
Header: false,
4
Footer : false,
5
Sidebar : false,
6
Main : false,
7
}
8
9
let newObject = Object.assign({}, originalObject) // Copies the original object
10
Object.entries(newObject).forEach(([key, value]) => newObject[key] = {debug: value})
11
12
13