该文章目前整理,递归查找树结构的数据,深拷贝数据,数组去重的一些常用姿势点,后续还会持续更新

1.递归

findOptionByValue(cascader, valueToFind) {
for (let item of cascader) {
if (item.value === valueToFind) {
console.log(item)
} else if (item.children) {
// 继续递归查找子级
this.findOptionByValue(item.children, valueToFind)
}
}
}
this.findOptionByValue(this.Cascader, val)

2.深拷贝

deepCopy(obj) {
return JSON.parse(JSON.stringify(obj))
}
this.clonedObj = this.deepCopy(this.treeTitle)

3.数组去重

let uniqueArray = res.data.reduce((acc, current) => {
if (current && current.gatewayLable) {
const x = acc.find((item) => item.gatewayLable === current.gatewayLable);
if (!x) {
return acc.concat([current]);
} else {
return acc;
}
} else {
return acc;
}
}, []);