簡體   English   中英

創建一個數組來破壞嵌套的 object

[英]Creating an array destructing a nested object

我需要在entity:中創建一個id:的數組,該變量嵌套在 object proposal中的stakes變量中。 當我使用此代碼解構 object 時:

const {
   stakes: {
      entity: { id: SupportersId },
    },
 } = proposal
  console.log(SupportersId)

我收到錯誤: TypeError: Cannot read property 'id' of undefined

這是一個嵌套在提案 object 中的“賭注”變量示例,我將代碼應用於:

0: 
 amount: BigNumber 
    c: [100000] 
    e: 19 
    s: 1 
    __proto__: Object 
 createdAt: 1616006864000 
 entity: {id: "0x60893...734",
        __typename: "Supporter"} 
 id: "appAddress:0x8blahblah...entity:0x608same" 
 proposal: null 
 type: "Add" 

所以當我運行時:

const {stakes} = proposal
console.log(stakes)

我得到了上面的 object。 運行時:

const {stakes: {entity}, }= proposal 

我得到:

4 Undefined
10 Undefined
10 Undefined
...

一個似乎與我正在處理的內容沒有任何關系的數字。 希望有人可以幫助我。 我覺得我需要像通過數組映射以創建元素時那樣向變量添加索引號,但是,遺憾的是,我也不確定它會是什么樣子。 最終,我將把這個列表作為一個孩子傳遞給另一個 function,它將 map 在我的應用程序中以另一種形式通過它,從 id 中提取圖像和配置文件數據以創建“個人卡”,如果有幫助的話。 任何幫助或建議將不勝感激,謝謝!

這是一個正確解構的反例。 我懷疑這與您的情況之間的區別在於您的proposal.stakes可能是一個數組,我從0:在您的 output 中。

 const proposal = { stakes: { amount: 10n, c: [100000], e: 19, s: 1, createdAt: 1616006864000, entity: { id: "0x60893...734", __typename: "Supporter" }, id: "appAddress:0x8blahblah...entity:0x608same", proposal: null, type: "Add", } }; const { stakes: { entity: { id: SupportersId }, }, } = proposal; console.log(SupportersId) const {stakes: {entity}, }= proposal; console.log(entity);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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