js 将下列树结构的数据转化为列表的数据[{"name": "北京", "code": "11", "children": [{"name": "市辖区", "code": "222", "children": [{"name":"1", "code": '2', "children": []}]}]}]
时间: 2023-06-28 12:10:02 浏览: 42
可以使用递归的方式将树形结构转换为列表,具体实现如下:
```javascript
function treeToList(tree) {
const list = [];
function traverse(node) {
const { name, code, children } = node;
list.push({ name, code });
if (children && children.length) {
children.forEach(child => traverse(child));
}
}
tree.forEach(node => traverse(node));
return list;
}
const treeData = [
{
name: "北京",
code: "11",
children: [
{
name: "市辖区",
code: "222",
children: [
{
name: "1",
code: "2",
children: []
}
]
}
]
}
];
const listData = treeToList(treeData);
console.log(listData); // [{"name":"北京","code":"11"},{"name":"市辖区","code":"222"},{"name":"1","code":"2"}]
```
通过递归遍历树形结构,将每个节点的 `name` 和 `code` 属性添加到列表中。如果该节点有子节点,则对子节点进行递归遍历。最终得到的结果即为所需的列表数据。