← Усі задачіJavaScript · Junior

unique: прибрати дублікати

Напишіть функцію unique(array), яка повертає новий масив без повторів. Порядок - за першою появою елемента.

NaN теж має схлопуватися в один елемент, а об'єкти порівнюються за посиланням.

Тести (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]);