Если addComp
- единственное место, которое вы изменяете this.item
, просто проверьте его на наличие до вставки.Дубликаты никогда не будут помещены в массив, поэтому вам никогда не придется их обрезать.
addComp(Names,c){
let item = {name: Names, componentid: c};
if (this.item.find((test) => test.name === Names) === undefined) {
this.item.push(item);
}
}
В качестве альтернативы, если есть другие места, которые вы изменяете this.item
, вы должны удалить дубликаты вболее ожидаемое место.Удаление их как побочный эффект функции addComp
неожиданно.Тем не менее, вы могли бы сделать это ...
addComp(Names,c){
this.item.push({name: Names, componentid: c});
this.item = this.item.filter((test, index, array) =>
index === array.findIndex((findTest) =>
findTest.name === test.name
)
);
}