我相信有很多方法来实现这一点,但我正在寻找好的变体。我有带有子对象数组的对象数组。我想要循环变更对象。对象,该对象具有子对象数组,该对象与索引2在父级的父级旁边添加此子类,但不删除任何对象。
(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: ""发布于 2020-05-09 14:07:16
您可以使用递归并实现一些遍历函数来运行数据的节点,并且只在一个级别上减少它们。
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)https://stackoverflow.com/questions/61697094
复制相似问题