簡體   English   中英

如何在 JavaScript 中循環任意數量的嵌套 arrays 數組

[英]How to loop over an array of arbitrary number of nested arrays in JavaScript

我從后端獲取了一個數組,該數組具有嵌套的 arrays 的任意編號。 每個數組元素都是一個公司,可能有也可能沒有Children屬性,它又是一個公司數組,每個可能有也可能沒有子公司。 例如:

[ 
   { 
      Name:"Company X",
      Children:[ 
         { 
            Name:"Company XY"
         },
         { 
            Name:"Company XZ",
            Children:[ 
               { 
                  Name: "Company XZY"    // third level of nested arrays, can be an abritrary number of levels
               }
            ]
         }
      ]
   },
   { 
      Name:"Company Y",
      Children:[ 
         { 
            Name:"Company YZ"
         }
      ]
   }
]

我必須為每個公司 object 添加一個“標簽”屬性。 該屬性等於“名稱”屬性。

如何在 JavaScript 中做到這一點?

必須在這里使用遞歸。

function addLabelRecursive(company) {
  if (company.Name) {
    company.Label = company.Name;
  }
  if (company.Children) {
    company.Children.forEach(addLabelRecursive);
  }
}

這個 function 添加了一個 label 並且如果存在孩子,則為每個孩子運行自己。

示例數據的工作代碼

暫無
暫無

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

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