I have the following class:
export class DailyEntry {
  date: Moment;
  breaks: Duration;
  startTime: Moment;
  endTime: Moment;
  project: Project;
  employee: Employee;
  workplace: string;
  performanceRecord: string;
  duration?: Duration;
  status;
  _links?: Link;
  constructor(date: string, breaks: string, startTime: string, endTime: string, workplace: string, performanceRecord: string,
              status: string, _links: Link, employee?: Employee) {
    this.date = moment(date);
    this.breaks = moment.duration(breaks);
    this.startTime = moment(date + 'T' + startTime);
    this.endTime = moment(date + 'T' + endTime);
    this.duration = moment.duration(this.endTime.diff(this.startTime)).subtract(this.breaks);
    this.workplace = workplace;
    this.performanceRecord = performanceRecord;
    this.status = STATUS[status];
    this._links = _links;
    this.employee = employee;
  }
}
I have an API-request in my customerService which maps the response to an array of DailyEntry:
search(searchUrl: string, params: HttpParams): Observable<DailyEntry[]> {
    return this.http.get<Data>(BASE_URL + 'search/' + searchUrl, this.authService.setHeadersWithParams('application/json', params))
      .pipe(
        map(function (data) {
          const entries: DailyEntry[] = [];
          data.forEach(function (e) {
            entries.push(new DailyEntry(e.date, e.breaks, e.startTime, e.endTime, e.workplace, e.performanceRecord, e.status, e._links, e.employee));
          });
          return entries;
        }),
        catchError(this.handleService.error)
      );
  }
In my customerComponent i have the following set defined:
employeesSet: Set<Employee> = new Set();
And inside that method, i call the search method the following way:
const dailyEntriesObservable = this.dailyEntryService.search('findByProjectId', httpParams);
          dailyEntriesObservable.subscribe(dailyEntries => {
            dailyEntries.forEach(dailyEntry => {
              this.employeesSet.add(dailyEntry.employee);
            });
          });
So i expected only unique employees being added to the set. But the set contains the same employee several times. But i guess they only have same values, but arent actually the same objects so they are still added in the set? How could i fix that?
