1、循环问题
数组里面没有和data[0].id的就push,有一个就替换。
之前else写在循环里面导致数组里面每有一个与data[0].id不同的就push一次
for(let i = 0; i < this.filterAlarmData.length; i++) {
if(this.filterAlarmData[i].id === data[0].id) {
this.filterAlarmData[i] = data[0]
flag=1;
break
}
}
if(flag===0){
this.filterAlarmData.push(data[0])
}
2、递归里面用map,不能中途return,要用for循环
把最外层map换成for循环
cnode.map((node)=>{
if(node.id===id){
if(node.cid.length===0){
node.len=50
return 50
}else{
for(let i=0;i<node.cid.length;i++){
node.len=node.len+this.sorttree(node.cid[i])
console.log(node.cid[i],this.sorttree(node.cid[i]))
}
return node.len
}
}
})
3、用数组 的时候一定要清零
arr.length=0;