@reinmaker1990

Как вернуть уникальные данные из массива адресов?

Здравствуйте, подскажите пожалуйста как вернуть только уникальные значения в массиве, пример, т.е у массива есть вложенный массив
DOP: [
      { NAME: "Аптека", CODE: "icon-apteka" },
      { NAME: "Травматология", CODE: "icon-travma" },
      { NAME: "Стационар", CODE: "icon-stazionar" }
    ]
, как убрать дубли из DOP и вернуть только уникальные его значения , пробовал через new Set, но видимо не верно понял его работу.
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
WblCHA
@WblCHA
пробовал через new Set, но видимо не верно понял его работу.

Не его, а объектов.

DOP.reduce((acc, obj) => {
  if(acc.findIndex((fobj) => fobj.NAME === obj.NAME && fobj.CODE === obj.CODE) === -1) {
    acc.push(obj);
  }
  return acc;
}, []);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
const unique = Object.values(arr
  .flatMap(n => n.DOP)
  .reduce((acc, n) => (n && (acc[n.NAME] = n), acc), {})
);
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Artezio Витебск
от 2 800 до 3 300 $
02 мар. 2021, в 21:07
5000 руб./за проект
02 мар. 2021, в 21:05
75000 руб./за проект
02 мар. 2021, в 20:57
9000 руб./за проект