簡體   English   中英

在 JavaScript 中的父 object 之后將子對象添加到對象數組

[英]Add child objects to array of objects after parents object in JavaScript

我確信有很多方法可以實現這一目標,但我正在尋找好的變體。 我有對象數組和對象數組。 我想在循環中更改 object。 具有對象數組的 Object 將此子對象添加到具有索引 2 的同一級別的父對象旁邊,但不刪除任何 object。

(63) [{…},
    1:
    PartImage: null
    Qty: 3
    Desc: null
    reference: 2
    child: [{…}]
    id: 49
    notes: ""
    2:
    PartImage: null
    Qty: 3
    Desc: null
    reference: 2
    id: 50
    notes: ""

您可以使用遞歸並實現一些遍歷 function 來遍歷數據的節點並將它們僅減少一個級別

let data = [
   {
      id: 49,
      child: [
         {
            id: 55
         }
      ]
   },
   {
      id: 50
   }      
]

function reorderData(node)
{
   (function traverse(node, root)
   {
      if (Array.isArray(node))
         node.forEach(n => traverse(n, root))
      else if (node.child) {
         node.child.forEach(item => data.splice(data.indexOf(node)+1, 0, item))
         delete node.child
      }      
   })(node, node)
}

reorderData(data)
console.log(data)

暫無
暫無

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

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