I have below array in jQuery as below.
var originalArray=[
   {ID: "01", PID: "1111", Week: "Week1"},
   {ID: "02", PID: "2222", Week: "Week1"},
   {ID: "03", PID: "3333", Week: "Week1"},
   {ID: "04", PID: "4444", Week: "Week1"},
   {ID: "05", PID: "1111", Week: "Week1"}, //Duplicate entry like ID 01
   {ID: "06", PID: "1111", Week: "Week2"},
   {ID: "07", PID: "2222", Week: "Week2"},
   {ID: "08", PID: "3333", Week: "Week2"},
   {ID: "09", PID: "4444", Week: "Week2"},
   {ID: "10", PID: "1111", Week: "Week2"}, //Duplicate entry like ID 06
   {ID: "11", PID: "1111", Week: "Week3"},
   {ID: "12", PID: "2222", Week: "Week3"},
   {ID: "13", PID: "3333", Week: "Week3"},
   {ID: "14", PID: "4444", Week: "Week3"},
   {ID: "15", PID: "2222", Week: "Week3"}, //Duplicate entry like ID 11
   {ID: "16", PID: "1111", Week: "Week4"},
   {ID: "17", PID: "2222", Week: "Week4"},
   {ID: "18", PID: "3333", Week: "Week4"},
   {ID: "19", PID: "4444", Week: "Week4"},
   {ID: "20", PID: "4444", Week: "Week4"}  //Duplicate entry like ID 19
];
Now, what I want is all the records with combination of only properties "PID" & "Week" as duplicate to be removed.
To explain further, below records should be removed.
- Record with ID "05" --> PID "1111" & Week "Week1" is same as ID "01"
- Record with ID "10" --> PID "1111" & Week "Week2" is same as ID "06"
- Record with ID "15" --> PID "2222" & Week "Week3" is same as ID "11"
- Record with ID "20" --> PID "4444" & Week "Week4" is same as ID "19"
This is what I have tried so far:
//Array declaration
var originalArray=[
   {ID: "01", PID: "1111", Week: "Week1"},
   {ID: "02", PID: "2222", Week: "Week1"},
   {ID: "03", PID: "3333", Week: "Week1"},
   {ID: "04", PID: "4444", Week: "Week1"},
   {ID: "05", PID: "1111", Week: "Week1"}, //Duplicate entry like ID 01
   
   {ID: "06", PID: "1111", Week: "Week2"},
   {ID: "07", PID: "2222", Week: "Week2"},
   {ID: "08", PID: "3333", Week: "Week2"},
   {ID: "09", PID: "4444", Week: "Week2"},
   {ID: "10", PID: "1111", Week: "Week2"}, //Duplicate entry like ID 06
   
   {ID: "11", PID: "1111", Week: "Week3"},
   {ID: "12", PID: "2222", Week: "Week3"},
   {ID: "13", PID: "3333", Week: "Week3"},
   {ID: "14", PID: "4444", Week: "Week3"},
   {ID: "15", PID: "2222", Week: "Week3"}, //Duplicate entry like ID 11
   
   {ID: "16", PID: "1111", Week: "Week4"},
   {ID: "17", PID: "2222", Week: "Week4"},
   {ID: "18", PID: "3333", Week: "Week4"},
   {ID: "19", PID: "4444", Week: "Week4"},
   {ID: "20", PID: "4444", Week: "Week4"}  //Duplicate entry like ID 19
];
var result = [];
var tempArr = [];
 $.each(originalArray, function (index, entry) {
  if (!(tempArr[entry.PID] && tempArr[entry.Week])) {
   tempArr[entry.PID] = true;
   tempArr[entry.Week] = true;
   result.push(entry);
  }
 });
console.log(result);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>With above tried code, I think it only checks first property PID, but not second property Week.
I have also tried below references, but could hardly find any help.
Duplicates in object array
How to remove duplicated OBJECTS from JavaScript array?
Remove duplicates from array of objects - Javascript
JavaScript Array Distinct()
Thanks in advance.
 
    