将递归得到的对象push到数组中
let selections = [];
for (let leaf of this.tree) {
let result = this.recursion(this.items, leaf);
selections.push(result);
}
递归函数
recursion(data, id) {
let result;
if (!data) {
return;
}
for (var i = 0; i < data.length; i++) {
let item = data[i];
if (item.id === id) {
result = item;
break;
} else if (item.children && item.children.length > 0) {
result = this.recursion(item.children, id);
}
}
console.log(result);
return result;
},
this.items为树结构的数据
items: [
{
id: 1,
name: 'Vuetify Human Resources',
children: [
{
id: 2,
name: 'Core team',
children: [
{
id: 201,
name: 'John'
},
{
id: 202,
name: 'Kael'
},
{
id: 203,
name: 'Nekosaur'
},
{
id: 204,
name: 'Jacek'
},
{
id: 205,
name: 'Andrew'
}
]
},
{
id: 3,
name: 'Administrators',
children: [
{
id: 301,
name: 'Ranee'
},
{
id: 302,
name: 'Rachel'
}
]
},
{
id: 4,
name: 'Contributors',
children: [
{
id: 401,
name: 'Phlow'
},
{
id: 402,
name: 'Brandon'
},
{
id: 403,
name: 'Sean'
}
]
}
]
},
{
id: 5,
name: 'Example',
children: [
{
id: 501,
name: 'qaz'
}
]
},
{
id: 6,
name: 'Qdd',
children: [
{
id: 601,
name: 'yui'
}
]
}
],
tree为树选中的数据[201,202,203]
在递归中我想要得到id所在的对象,在第一个方法中push到数组中形成一个数组集合,现在递归方法出现了问题得到的result为undefined,请各位帮我看下?
已解决