Javascript 对象指定上的嵌套分解

Javascript 对象指定上的嵌套分解,javascript,ecmascript-6,javascript-objects,Javascript,Ecmascript 6,Javascript Objects,使用ES6解构,他们是否有任何方法可以在赋值时解构嵌套对象 下面是一个快速的代码示例来说明我的意思: let node = { ItemTitle: 'Title', ItemId: 5, Menu: {Item: [{ItemId: 579}] } // my attempts let { ItemId: id, ItemTitle: title, Menu['Item']: subItems } = node let {

使用ES6解构,他们是否有任何方法可以在赋值时解构嵌套对象

下面是一个快速的代码示例来说明我的意思:

let node = {
  ItemTitle: 'Title',
  ItemId: 5,
  Menu: {Item: [{ItemId: 579}]
}

 // my attempts
  let {
      ItemId: id,
      ItemTitle: title, 
      Menu['Item']: subItems
    } = node

  let {
      ItemId: id,
      ItemTitle: title, 
      Menu.Item: subItems
    } = node

对于嵌套级别,您可以重复与分解顶级级别相同的语法:

根据您的评论进行编辑

我需要数组中的对象

let节点={
ItemTitle:“标题”,
项目编号:5,
菜单:{Item:[{ItemId:579}]}
}
让{
ItemId:id,//将`node.ItemId`提取到名为`id'的变量中`
ItemTitle:title,//将`node.ItemTitle`提取到名为`title'的变量中`
菜单:{
Item:[obj]//将`node.Menu.Item[0]`提取到名为obj的变量中
}
}=节点;
log('id=',id);
console.log('title=',title);

log('obj=',obj)是的,您可以使用ES6执行嵌套的分解

let节点={
ItemTitle:“标题”,
项目编号:5,
菜单:{
项目:[{
项目编号:579
}]
}
}
让{Menu:{Item:[{ItemId}]}}=node

console.log(ItemId)//579
谢谢你的回答,我现在明白多了。如果您查看我的示例,node.Menu.Item是一个数组。如何分解对象的数组属性?您需要数组的哪一部分,数组中的对象还是该对象的
ItemId
属性?谢谢,我需要数组中的对象。太好了,非常感谢您让我这么清楚。@rm rf没问题,朋友,很高兴帮助:)