← Wszystkie zadaniaJavaScript · Junior

unique: usuń duplikaty

Napisz funkcję unique(array), która zwraca nową tablicę bez powtórzeń, zachowując kolejność pierwszego wystąpienia.

NaN też ma się zredukować do jednego elementu, a obiekty porównujemy po referencji.

Testy (5)

  1. expect(unique([1, 2, 2, 3, 1])).toEqual([1, 2, 3]);
  2. expect(unique(["b", "a", "b"])).toEqual(["b", "a"]);
  3. expect(unique([NaN, NaN, 0, -0])).toEqual([NaN, 0]);
  4. const obj = {};
    expect(unique([obj, obj, {}]).length).toBe(2);
  5. const source = [1, 1];
    unique(source);
    expect(source).toEqual([1, 1]);