微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从另一个对象动态嵌套对象

如何解决从另一个对象动态嵌套对象

试图找出如何从这个对象动态创建一个新的嵌套对象:

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 举报,一经查实,本站将立刻删除。