【问题标题】:Destructuring Nested objects in javascript | Destructure second level parent and child Objects在 javascript 中解构嵌套对象 |解构二级父子对象
【发布时间】:2019-06-15 00:44:18
【问题描述】:

我需要从这个对象中解构并获取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'

我怎样才能得到子对象?

【问题讨论】:

  • 你是什么意思?您不能控制台记录对象,但您可以对对象执行其他操作。喜欢使用 typeOf:stackoverflow.com/a/13045455/8716187
  • ^^^ 改代码,可以的^^^
  • @Wookies-Will-Code hmmmmmm,是的,可以在控制台中记录对象。问题更多的是获取(解构)子对象以及一些子属性。反正Tq

标签: javascript ecmascript-6 destructuring nested-object


【解决方案1】:

child: { title2 } 只是在解构子属性。如果您想获取子属性本身,只需在语句中指定它: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);

【讨论】:

    【解决方案2】:

    当做 child 时:{ child : { title2 } },child 没有实例化,所以你仍然可以做 { child, child : { title2 } } 来得到title2 和child。

    就这么简单:

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

    【讨论】:

      猜你喜欢
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 2022-01-08
      • 2022-01-22
      • 2017-01-08
      相关资源
      最近更新 更多