简体   繁体   English

在javascript 中解构嵌套对象| 解构二级父子对象

[英]Destructuring Nested objects in javascript | Destructure second level parent and child Objects

I need to destructure and get values of title, child, childTitle from this object我需要从这个对象中解构并获取 title、child、childTitle 的值

const obj1 = {
   title : 'foo',
   child : {
               title2 : 'bar'
           }
   }

let {title, child} = obj1;
console.log(title)   //'foo'
console.log(child)   //{ title : 'bar' } 

// but couldn't get child object this way

let { title , child : { title2 } } = obj1;
console.log(title)   //'foo'
console.log(child)   //unDefined
console.log(title2)  //'bar'

How could I get the child object?我怎么能得到子对象?

child: { title2 } is just destructuring the child property. child: { title2 }只是在破坏 child 属性。 If you want to pick up the child property itself simply specify it in the statement: let { title, child, child: { title2 } } = obj1;如果您想获取 child 属性本身,只需在语句中指定它: let { title, child, child: { title2 } } = obj1;

 const obj1 = { title: 'foo', child: { title2: 'bar' } } let { title, child, child: { title2 } } = obj1; console.log(title); console.log(child); console.log(title2);

When doing child : { child : { title2 } } , child is not instantiate, so you can still doing { child, child : { title2 } } to get both title2 and child .执行 child : { child : { title2 } }child不会实例化,因此您仍然可以执行{ child, child : { title2 } }来同时获取title2child

As simple as :就像这样简单:

const obj1 = {
  title: "foo",
  child: {
    title2: "bar"
  }
};

const { title, child, child : { title2 } } = obj1  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM