У меня есть что-то вроде этого:
items: { _id: number; place: SomeAddressClassDto }[] = [];
sessionItem: { _id: number; place: SomeAddressClassDto };
createAddressList() {
this.service.getWorkingPlaces().subscribe((items) => {
this.items = items;
this.sessionItem = {
place: JSON.parse(sessionStorage.getItem('currentPlace')),
_id: this.items.length,
};
this.items.push(this.sessionItem);
// _.uniqBy(this.items, 'place')
const idx = items.findIndex((item) => this.service.comparePlaces(item.place,
this.service.getCurrentWorkingPlace()));
if (idx !== -1) this.radiobox.option = `${idx}`;
});
}
Я пытаюсь удалить любые дубликаты из массива 'items' с помощью метода _uniqBy, но он не работает. Я думаю, это потому, что для этих items._id всегда разные, но items.place мог бы быть равным, и если бы я хотел избавиться от этого.
Может быть, лучший способ проверить, является ли тот же item.place уже в этом массиве, но не знаю, как это сделать.
РЕДАКТИРОВАТЬ: Чтобы быть более точным, элементы выглядят следующим образом:
0: place: {name, street, city, etc...}
_id: 0
Таким образом, возможно иметь очень похожий объект whitch отличается rnet только одним свойством на месте {}