Javascript ES6 解构嵌套对象父级和子级分配变量

标签 javascript object ecmascript-6 assign destructuring

我解构父级中的第一个变量嵌套对象,然后声明另一个变量来设置子值,但出现一些错误,我不知道哪种足够的方法可以解决这个问题并且可读

let personObj = {
        Name: 'Robiul',
        Age: 22,
        Address: {
            city: 'Dhaka',
            country: 'Bangladesh'
        }
    }

    let {Address: myAddress} = personObj
    let {myAddress:{city: myCity, country: myCountry}}=myAddress

最佳答案

在第一行中,您已经将 Address 解构为 myAddress。 因此,在解构它时,您不需要再嵌套一层。

    let personObj = {
        Name: 'Robiul',
        Age: 22,
        Address: {
            city: 'Dhaka',
            country: 'Bangladesh'
        }
    }

    // destructure address and rename it to myAddress
    let { Address: myAddress } = personObj;
    
    // destructure myAdress and rename city and country
    let { city: myCity, country: myCountry } = myAddress;
    
    console.log('city', myCity, 'country', myCountry);

此外,由于您并未真正在任何地方使用 myAddress,因此您可以从 personObj 中解构它。

let personObj = {
  Name: 'Robiul',
  Age: 22,
  Address: {
    city: 'Dhaka',
    country: 'Bangladesh'
  }
}

// destructure address and rename it to myAddress
let {
  Address: {
     city: myCity,
     country: myCountry
  }
} = personObj;


console.log('city', myCity, 'country', myCountry);

关于Javascript ES6 解构嵌套对象父级和子级分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61488160/

相关文章:

javascript - 如何使用 redux 时间旅行并将其绑定(bind)到 ctrl + z 和 ctrl + shift + z 键绑定(bind)?

javascript - 如何在机器人回复建议操作时隐藏/显示发送箱

Javascript 外部对象全局?

javascript:从回调函数调用对象内部的函数

reactjs - react 路由器链接 typescript 错误

javascript - 如何通过 chrome 调试工具在运行时将数组对象保存到文件?

javascript - 防止 jQuery 高级新闻行情指示器中的循环( fork /修改)

java - Java 中的 toString 方法调用

javascript - 如何使用唯一键将两个或多个对象数组合并为一个

javascript - 有没有办法通过 React JSX 释放 ES6 的全部威力?