簡體   English   中英

如何在單鍵值對數組中獲取嵌套的 json 對象值

[英]How can i get nested json objects values in single key value pair array

我已經嵌套了 json 對象數組,我想從該嵌套數組中以單鍵值對的格式獲取值,以傳遞給 http 調用而不是單個 object 我需要數組

[{
   "menu_id":1,
   "parent_menu_id":0,
   "children":[
      {
         "menu_id":2,
         "parent_menu_id":1,
         "children":[
            {
               "menu_id":3,
               "parent_menu_id":2,
               "children":[

               ]
            }
         ]
      }
   ]
},
{
   "menu_id":5,
   "parent_menu_id":0,
   "children":[
      {
         "menu_id":6,
         "parent_menu_id":5,
         "children":[
            {
               "menu_id":7,
               "parent_menu_id":6,
               "children":[

               ]
            }
         ]
      }
   ]
}]

我需要數組格式的結果

[
   {
      "menu_id":1,
      "parent_menu_id":0
   },
   {
      "menu_id":2,
      "parent_menu_id":1
   },
   {
      "menu_id":3,
      "parent_menu_id":2
   }
]

您可以為此創建一個遞歸 function。

 function toFlatArray(obj) { let result = []; result.push({ menu_id: obj.menu_id, parent_menu_id: obj.parent_menu_id }); if (obj.children && obj.children.length) { obj.children.forEach(child => { result = result.concat(toFlatArray(child)); }); } return result; } // added another method to run forEach function toFlatArrayFromArray(arr) { let result = []; arr.forEach(obj => { result = result.concat(toFlatArray(obj)); }); return result; } const myObj = [{ "menu_id":1, "parent_menu_id":0, "children":[ { "menu_id":2, "parent_menu_id":1, "children":[ { "menu_id":3, "parent_menu_id":2, "children":[ ] } ] } ] }, { "menu_id":5, "parent_menu_id":0, "children":[ { "menu_id":6, "parent_menu_id":5, "children":[ { "menu_id":7, "parent_menu_id":6, "children":[ ] } ] } ] }]; console.log(toFlatArrayFromArray(myObj));

暫無
暫無

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

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