I have been working on removing duplicate objects in an array. I keep getting an error on trying to read the filterList[i+1].tagID. I can manually enter the [i+1] values and get the correct results. I'm not sure why the i+1 is an issue. I have also wondered if if it better to use a slice[i, 1] than the delete.
const filterList = [{
tagID: 1,
tagName: "Red"
}, {
tagID: 1,
tagName: "Red"
}, {
tagID: 2,
tagName: "Orange"
}, {
tagID: 2,
tagName: "Orange"
}, {
tagID: 5,
tagName: "Blue"
}, {
tagID: 5,
tagName: "Blue"
}, {
tagID: 5,
tagName: "Blue"
}, {
tagID: 6,
tagName: "Indigo"
}, {
tagID: 6,
tagName: "Indigo"
}, {
tagID: 7,
tagName: "Violet"
}, {
tagID: 7,
tagName: "Violet"
}, {
tagID: 7,
tagName: "Violet"
}]
filterList.sort(function(a, b) {
return a.tagID - b.tagID;
});
for (let i = 0; i < filterList.length; i++) {
if (filterList[i].tagId == filterList[i+1].tagID) {
delete filterList[i];
}
}
console.log(filterList)
filterList.length - 1for (let i = 0; i < filterList.length-1; i++) { if (filterList[i].tagId == filterList[i+1].tagID) { delete filterList[i]; } }