Задать вопрос
Grapeoff
@Grapeoff
В чём концепция...?

Каким образом в Set попали не уникальные значения?

У меня есть массив групп, в которых состоит пользователь CRM (массив идентификаторов)

И естественно, они все должны быть уникальные, ведь не может пользователь состоять в одной и той же группе 2 раза одновременно, но JS так не думает...

Чтобы список ID был уникальным, я использую Set, он работает во всех участках моего кода, кроме этого.

Чтобы уникализировать массив, достаточно просто вызвать конструктор Set и передать туда этот массив, на скриншоте я просто вывожу в консоль результат.

Никаких случайных импортов типа import Set from 'not-working-set' нету, это самый что ни на есть нативный Set, тип у this.groups - string[].

Помогите...
60e1d5b2a7d46456030895.png
60e1d7a229a37871294496.png
  • Вопрос задан
  • 347 просмотров
Подписаться 2 Средний 2 комментария
Решения вопроса 1
Есть разница между буквальной строкой "habr", примитивом String("habr") и объектом new String("habr"). В последнем случае typeof === "object" и происходят чудеса:
const x = new String("habr");
const y = new String("habr");
x === y // false

Соответственно и Set() сможет хранить экземпляры объектов, которые только при приведении к примитиву дадут одинаковые строки, а так суть есть разные инстансы. Может, это ваш случай?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы