双数组去重

 

71条树结构数据的点击选择,耗时2s,想想心态都崩掉了,别说用户接受不了自己心里都不能接受。最后从新更换方法,顺利完成.

旧代码:

let len = arr.length;
let j;
let newArr = [];
// 去重
for(let i=0;i<len;i++){
   for(j=0;j<newArr.length;j++){
       if(newArr[j].orgId === arr[i].orgId){
           break;
       }
   }
   if (j == newArr.length) {
      newArr[newArr.length] = treeToList(e.selectedNodes)[i];
   }
}
    

更换后 可能不是最好的 比之前快了点

   如果 有更好的望指教!!!!!  

let newArr:any = [];
let data = arr.concat(newArr);
for(let item1 of data){
  let flug:boolean = true;
  for( let item2 of newJson){
       if(item1.orgId==item2.orgId){ //让data数组对象的内容与新数组的内容作比较,相同的话,改变标记为false
          flug = false;
       }
  }
  if(flug){ //判断是否重复
     newJson.push(item1); //不重复的放入新数组。 新数组的内容会继续进行上边的循环。
  }
}

还想得到 更好的 比对方法

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>