一个树形结构,比如第三级的value是1-1-3,其父级为1-1,再父级为1
此时搜索1-1-3,希望得到一个数组['1', '1-1', '1-1-3']
init(tree) {
if (!tree.__value) {
tree.__value = [];
}
if (!tree.__obj) {
tree.__obj = [];
}
for (let i = 0; i < tree.length; i++) {
tree[i].__value = [...tree.__value];
tree[i].__value.push(tree[i].value);
tree[i].__obj = [...tree.__obj];
tree[i].__obj.push({
value: tree[i].value,
label: tree[i].label,
});
if (tree[i].children && tree[i].children.length) {
tree[i].children.__value = [...tree[i].__value];
tree[i].children.__obj = [...tree[i].__obj];
this.init(tree[i].children);
}
}
},
fn(tree, value) {
for (let i = 0; i < tree.length; i++) {
if (tree[i].value === value) {
console.log(tree[i].__value);// 输出三层value的数组
console.log(tree[i].__obj);// 输出三层obj的数组
}
if (tree[i].children && tree[i].children.length) {
this.fn(tree[i].children, value);
}
}
},