js方法,处理树类型数据,修改字段code 的数据赋值给name
时间: 2024-11-17 09:29:43 浏览: 25
在JavaScript中,如果你有一个树形数据结构,比如一个嵌套的对象数组表示的树,你想通过修改`code`字段的值并将它赋给相应的`name`字段,你可以使用递归函数来遍历这个树并更新每个节点。这里是一个简单的示例:
```javascript
function updateTreeData(tree, codeToNameMap) {
// 遍历树中的每一个元素
tree.forEach(node => {
if (node.code && typeof node.code === 'string') { // 如果当前节点有code字段
// 使用提供的映射查找新的name值
const newName = codeToNameMap[node.code];
// 如果找到新名字,就替换当前节点的name
if (newName) {
node.name = newName;
} else {
// 如果找不到对应的新名字,可以考虑保留原有结构或者抛出错误(取决于你的需求)
console.warn(`Code "${node.code}" not found in the mapping.`);
}
}
// 对子节点递归操作
if (Array.isArray(node.children)) {
updateTreeData(node.children, codeToNameMap);
}
});
}
// 示例数据
const treeExample = {
code: 'A01',
name: '',
children: [
{ code: 'B01', name: '', children: [{ code: 'C01', name: '' }] },
{ code: 'B02', name: '', children: [] }
]
};
// 映射关系
const codeToNameMap = {'A01': 'NewName1', 'B01': 'NewName2'};
// 更新树的数据
updateTreeData(treeExample, codeToNameMap);
// 现在treeExample应该已经被修改了
```
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)