如何使用扩展运算符更改对象的嵌套属性?

这是我的情况的一个干净版本:


const person1 = {

    name: "Person1 Name",

    hairColor: "Brown",


    backpack: {

        color: "Army-Green",

        content: [

            "item1",

            "item2",

            "..."

        ]

    }

}

我试图只改变背包的颜色


我已经在下面尝试过这段代码,但没有成功:


person = {...person1, backpack.color: "New backpack color"}};


person = {...person1, backpack: {...backpack, color: "New backpack color"}};


person = {...person1, backpack: {color: "New backpack color"}};


person = {...person1, backpack = {...backpack, color: "New backpack color"}};


拉莫斯之舞
浏览 215回答 2
2回答

长风秋雁

const person2 = {...person1, backpack: {...person1.backpack, color: 'Red' }}

互换的青春

您必须首先在下面传播该属性const person1 = {    name: "Person1 Name",    hairColor: "Brown",    backpack: {        color: "Army-Green",        content: [            "item1",            "item2",            "..."        ]    }}const person = {...person1, backpack : {...person1.backpack, color : "Red"}}console.log(person)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript