簡體   English   中英

對象分配的嵌套解構

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM