js 中 对数组遍历树结构对子级的父级添加标识
时间: 2024-10-08 19:10:18 浏览: 35
在JavaScript中,如果你有一个树形数据结构,如嵌套的对象数组表示的树,遍历并给每个子级添加其父级的标识,通常可以使用递归函数来完成。下面是一个简单的示例:
```javascript
function addParentIdToChildren(treeData, parentId='') {
treeData.forEach(node => {
node.parentId = parentId;
if (Array.isArray(node.children)) {
addParentIdToChildren(node.children, parentId + '_' + node.id); // 使用当前节点ID作为新的父级ID前缀
}
});
return treeData;
}
// 示例树形数据
const tree = [
{id: '1', children: [{id: '2'}, {id: '3'}]},
{id: '4', children: [{id: '5'}, {id: '6'}]}
];
// 添加parentIds
const treeWithParents = addParentIdToChildren(tree);
console.log(treeWithParents);
```
在这个例子中,`addParentIdToChildren`函数接受一个树节点数组和一个当前的父级ID(默认为空)。它会遍历数组中的每一个节点,将其`parentId`设置为传递的`parentId`,然后如果这个节点有`children`属性,就递归地调用自身,将当前节点的`id`添加到父级ID中。
阅读全文