-4

I have an array of HTMLElements. I want to remove the duplicates

const element = event.target as HTMLElement;

if (element.classList.contains('singleRowPath')) {
  const gEle = element.closest('g');

  for (let i = 0; i <= this.selectedRowFromMultiSeats.length; i++) {
    if (this.selectedRowFromMultiSeats[i] !== gEle) {
      this.selectedRowFromMultiSeats.push(gEle);
    }
  }

console.error(this.selectedRowFromMultiSeats);
thuveepan
  • 25
  • 1
  • 5

2 Answers2

3

Standard way using filter,

let uniqueElements = selectedRowFromMultiSeats.filter((v, i, a) => a.indexOf(v) === i);

Using set,

let uniqueElements = [...new Set(selectedRowFromMultiSeats)];
Sasi Kumar M
  • 2,440
  • 1
  • 23
  • 23
0

You can uses Set,which will be much convenient approach and will give you unique elements in an array let uniqueElements = [...new Set(selectedRowFromMultiSeats)];