Javascript 对象指定上的嵌套分解
使用ES6解构,他们是否有任何方法可以在赋值时解构嵌套对象 下面是一个快速的代码示例来说明我的意思: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 {
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没问题,朋友,很高兴帮助:)