亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何迭代深層嵌套對象中的每個 object.child ?

如何迭代深層嵌套對象中的每個 object.child ?

翻過高山走不出你 2023-07-20 10:40:20
我有以下結構:instance: {   children: [instance, instance ...] }正如您所看到的,每個instance都有children數組,其中包含另一個實例,因此這種重復可以相對深入,直到到達最后一個嵌套子級。我需要迭代最上面/給定的每個子項instance并執行一個簡單的if條件。但我不知道如何做到這一點,因為 的長度children可能會有所不同,而且我們需要檢查每個孩子的孩子等等......
查看完整描述

1 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

您可以遞歸地迭代所有實例:


function iterate(instance) {

  for (let child of instance.children) {

    iterate(child);

  }

}

例子:


instance = {

  name: 'Parent',

  children: [{

    name: 'Child 1',

    children: []

  }, {

    name: 'Child 2',

    children: [{

      name: 'Grandchild 1',

      children: []

    }]

  }]

};


function iterate(instance, f) {

  if (f)

    f(instance.name);

  for (let child of instance.children) {

    iterate(child, f);

  }

}


iterate(instance, console.log);

輸出:


Parent

Child 1

Child 2

Grandchild 1


查看完整回答
反對 回復 2023-07-20
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號