js数组对象去重(同时判断对象中的每一个属性,若其对应的属性值都相同,则去重)
作者:互联网
1 let arr = [ 2 { 3 maxDeptCode: "md3", 4 maxDeptName: "泡泡", 5 minDeptCode: "md301", 6 minDeptName: "泡泡少儿", 7 schoolId: 1, 8 schoolName: "北京", 9 }, 10 { 11 maxDeptCode: "md2", 12 maxDeptName: "中学", 13 minDeptCode: "md201", 14 minDeptName: "中学一对一", 15 schoolId: 1, 16 schoolName: "北京", 17 }, { 18 maxDeptCode: "md3", 19 maxDeptName: "泡泡", 20 minDeptCode: "md301", 21 minDeptName: "泡泡少儿", 22 schoolId: 1, 23 schoolName: "北京", 24 }, 25 ]; 26 27 28 29 function process(arr) { 30 // 缓存用于记录 31 const cache = []; 32 for (const t of arr) { 33 // 检查缓存中是否已经存在 34 if (cache.find(c => c.maxDeptCode === t.maxDeptCode && c.minDeptCode === t.minDeptCode)) { 35 // 已经存在说明以前记录过,现在这个就是多余的,直接忽略 36 continue; 37 } 38 // 不存在就说明以前没遇到过,把它记录下来 39 cache.push(t); 40 } 41 42 // 记录结果就是过滤后的结果 43 return cache; 44 } 45 46 console.log(process(arr));
打印结果如下:
标签:泡泡,arr,schoolId,maxDeptCode,对象,cache,js,minDeptCode,属性 来源: https://www.cnblogs.com/dreamstartplace/p/12396973.html