[英]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.