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));

 

打印結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM