如何解决从另一个对象动态嵌套对象
试图找出如何从这个对象动态创建一个新的嵌套对象:
object1 = {
DataStore : false,Header: false,Footer : false,Sidebar : false,Main : false,}
像这样嵌套一个:
const registerComponentsLocal = {
'DataStore': {
'debug': false
},'Header': {
'debug': false
},'Footer': {
'debug': false
},'Sidebar': {
'debug': false
},'Main': {
'debug': false
},}
键和值必须是动态的。唯一重要的是最终对象的结构。 任何想法都会非常受欢迎。
解决方法
创建一个新实例(即保留旧实例)
let originalObject = {
DataStore : false,Header: false,Footer : false,Sidebar : false,Main : false,}
let newObject = Object.assign({},originalObject) // Copies the original object
Object.entries(newObject).forEach(([key,value]) => newObject[key] = {debug: value})
,
这是一个使用 reduce
Object.entries(object1)
.reduce((b,a) => ({...b,[a[0]] : {debug:a[1]}}),{})
为了迭代,我们需要一个数组,而 Object.entries
给了我们这个。然后,使用 reduce
,我们遍历 object1
中的每个项目,并构建结果。在这里,这一行 ({...b,[a[0]] : {debug:a[1]}})
接受我们的累积对象 b
并添加下一个可迭代对象:{key: { debug: value}}`
let object1 = {
DataStore : false,}
const registerComponentsLocal = Object.entries(object1).reduce((b,a) => ( {...b,[a[0]] : { debug:a[1]} }),{})
console.log(registerComponentsLocal)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。