javascript - 根据树节点的位置,修改对应的节点值?
本文介绍了javascript - 根据树节点的位置,修改对应的节点值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如题,根据树形结构中的节点位置,修改节点的值,例如
[
{
id: 0,
pos: '0',
name: 'a-0',
children: [
{
id: 1,
pos: '0-0',
name: 'b-1'
},
{
id: 2,
pos: '0-1'
name: 'b-2',
},
{
id: 3,
pos: '0-2'
name: 'b-3',
children: [
{
id: 4,
pos: '0-2-0'
name: 'c-4',
},
{
id: 5,
pos: '0-2-1',
name: 'c-5',
children: [
{
id: 6,
pos: '0-2-1-0'
name: 'd-6',
}
]
}
]
}
]
}
]
已知位置'0-2-1'
表示 'c-5'
, 可以通过这个位置修改树的值。希望能够通过不递归查询树的方式修改值,可扩展。谢谢
解决方案
供参考
'0-2-1'.split('-').reduce((node, p, i, pos) => i === pos.length - 1 ? node[p].name : node[p].children, data)
这篇关于javascript - 根据树节点的位置,修改对应的节点值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文