该文章目前整理,递归查找树结构的数据,深拷贝数据,数组去重的一些常用姿势点,后续还会持续更新
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; } }, []);
|