js 树形数组children不为0时取其中部分字段,children为0时保留全部
时间: 2024-02-18 15:01:48 浏览: 100
js代码-数组根据pid转为树形结构的数组
您可以使用递归的方式遍历树形数组,判断每个节点的 `children` 是否为空,如果不为空则继续递归遍历子节点,如果为空则保留该节点的所有字段。
以下是一个示例代码:
```js
function filterTreeData(data) {
return data.map(item => {
if (item.children && item.children.length > 0) {
// 如果有子节点,则递归遍历子节点
return {
id: item.id,
name: item.name,
children: filterTreeData(item.children),
};
} else {
// 如果没有子节点,则保留所有字段
return item;
}
});
}
```
在上面的代码中,我们定义了一个 `filterTreeData` 函数,该函数接受一个树形数组作为参数,并返回一个树形数组。在函数内部,我们首先使用 `map` 方法遍历每个节点,然后判断该节点的 `children` 是否为空。如果不为空,则递归遍历子节点,并只保留需要的字段;如果为空,则保留所有字段。
您可以根据实际需求来修改代码中的字段名或添加新的字段。
阅读全文