I have this array of objects I have tried to remove a duplicate from the array, but I can't remove it based on a condition this is the array
result = [
{ jobId: 2, requiredNumber: 2, acceptableRate: 80 },
{ jobId: 3, requiredNumber: 3, acceptableRate: 80 },
{ jobId: 4, requiredNumber: 1, acceptableRate: 80 },
{ jobId: 2, requiredNumber: 1, acceptableRate: 95 }
]
what I have done is using the .filter() and the .findIndex() but I can't get my excepted output
this is what I have done
var mm = result.filter(
(value, index, self) =>
index === self.findIndex((t) => t.jobId === value.jobId)
);
console.log(mm);
my output was
[
{ jobId: 2, requiredNumber: 2, acceptableRate: 80 },
{ jobId: 3, requiredNumber: 3, acceptableRate: 80 },
{ jobId: 4, requiredNumber: 1, acceptableRate: 80 }
]
expected output is based on my condition which can be based on higher acceptableRate or higher requiredNumber
[
{ jobId: 2, requiredNumber: 1, acceptableRate: 95 },
{ jobId: 3, requiredNumber: 3, acceptableRate: 80 },
{ jobId: 4, requiredNumber: 1, acceptableRate: 80 },
]