根据子节点id查找所有父节点id
findPatentValue(array, value, valueName = 'Id', childrenName = 'children') {
if (!value || !Array.isArray(array)) return [];
const result = [];
let valid = false;
const seek = (array, value) => {
let parentValue = '';
const up = (array, value, lastValue) => {
array.forEach(v => {
const val = v[valueName];
const child = v[childrenName];
if (val === value) {
valid = true;
parentValue = lastValue;
return;
}
if (child && child.length) up(child, value, val);
});
};
up(array, value);
if (parentValue) {
result.unshift(parentValue);
seek(array, parentValue);
}
};
seek(array, value);
return valid ? [...result, value] : [];
},