[英]Nested Destructuring on Object Assignments
使用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
是的,您可以使用ES6進行嵌套解構。 MDN為您提供了一個很好的例子 。
let node = { ItemTitle: 'Title', ItemId: 5, Menu: { Item: [{ ItemId: 579 }] } } let { Menu: { Item: [{ ItemId }] } } = node console.log(ItemId) // 579
對於嵌套級別,您可以重復相同的語法,如同對頂級進行解構:
根據您的評論編輯
我需要數組中的對象
let node = { ItemTitle: 'Title', ItemId: 5, Menu: {Item: [{ItemId: 579}]} } let { ItemId: id, // extract `node.ItemId` into a variable called `id` ItemTitle: title, // extract `node.ItemTitle` into a variable called `title` Menu: { Item: [obj] // extract `node.Menu.Item[0]` into a variable called obj } } = node; console.log('id =', id); console.log('title =', title); console.log('obj =', obj);
預編輯:在嵌套數組中提取對象的id。
let node = { ItemTitle: 'Title', ItemId: 5, Menu: {Item: [{ItemId: 579}]} } let { ItemId: id, // extract `node.ItemId` into a variable called `id` ItemTitle: title, // extract `node.ItemTitle` into a variable called `title` Menu: { Item: [{ ItemId: subItemId // extract `node.Menu.Item[0].ItemId` into a variable called `subItemId` }] } } = node; console.log('id =', id); console.log('title =', title); console.log('subItemId =', subItemId);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.