# Глубокие уникальные

Удаляет дубликаты с lodash _.uniqWith и глубокой проверкой

> Каноническая страница: https://elysiatools.com/ru/tools/uniq-with

- **Категория:** Data Processing

- **Ключевые слова:** массив, уникальные, глубокие, сравнение, lodash

## Обзор

Удаляет дубликаты с помощью глубокого сравнения.

**Особенности:**
- Использует lodash `_.uniqWith`
- Сравнивает элементы через `_.isEqual`
- Удобно для массивов объектов

**Пример:**
- Массив: `[{"id": 1}, {"id": 1}, {"id": 2}]`
- Результат: `[{"id": 1}, {"id": 2}]`

## Входные данные

- **Массив** (textarea): Введите JSON массив

## Когда использовать

- Когда требуется удалить дубликаты из массива объектов, где простого сравнения недостаточно.
- При обработке данных с вложенными структурами, требующими глубокой проверки равенства.
- Для очистки массивов от повторяющихся элементов с идентичными значениями всех полей.

## Как это работает

- Принимает JSON массив в качестве входных данных через текстовое поле.
- Применяет функцию _.uniqWith из библиотеки lodash для фильтрации дубликатов.
- Использует _.isEqual для глубокого сравнения элементов, включая вложенные объекты.
- Возвращает новый массив, содержащий только уникальные элементы.

## Сценарии использования

- Очистка списка пользователей от дубликатов при импорте из разных систем.
- Обработка данных из API, где возможны повторяющиеся записи.
- Подготовка массивов для анализа, исключая повторы для точности.

## Частые вопросы

### Какой формат должен быть у входного массива?

Массив должен быть в формате JSON, например: [{"id": 1}, {"id": 1}].

### Чем глубокое сравнение отличается от обычного?

Глубокое сравнение проверяет все свойства объектов рекурсивно, а не только ссылки.

### Можно ли использовать для массивов примитивов?

Да, но для простых типов данных эффективнее использовать _.uniq без глубокого сравнения.

### Как инструмент обрабатывает вложенные объекты?

_.isEqual рекурсивно сравнивает вложенные структуры, гарантируя полное совпадение.

### Есть ли ограничения на размер массива?

Ограничения зависят от производительности браузера, но инструмент оптимизирован для средних объемов данных.

## Связанные инструменты

- [Удалить по условию](https://elysiatools.com/ru/tools/remove-by-predicate): Удаляет элементы по предикату с lodash _.remove
- [Уплотнить Массив](https://elysiatools.com/ru/tools/compact-array): Удалить ложные значения из массива с помощью lodash _.compact
- [Удалить Первые N Элементов](https://elysiatools.com/ru/tools/drop-items): Удаляет первые N элементов массива с использованием lodash _.drop
- [Удалить Элементы с Конца](https://elysiatools.com/ru/tools/drop-right-items): Удаляет последние N элементов из массива с помощью lodash _.dropRight
- [Удалить значения](https://elysiatools.com/ru/tools/pull-values): Удаляет указанные значения из массива с lodash _.pull
- [Уникальные отсортированные](https://elysiatools.com/ru/tools/sorted-unique): Удаляет дубликаты в отсортированном массиве с lodash _.sortedUniq
- [Уникальные по полю](https://elysiatools.com/ru/tools/sorted-unique-by): Удаляет дубликаты в отсортированном массиве с lodash _.sortedUniqBy
- [Уникальный массив](https://elysiatools.com/ru/tools/uniq-array): Удаляет дубликаты массива с lodash _.uniq

## Примеры

- [Примеры Расширенного Применения Grafana](https://elysiatools.com/ru/samples/grafana-samples): Комплексные примеры Grafana, охватывающие продвинутый дизайн дашбордов, конфигурацию оповещений, интеграцию источников данных и разработку плагинов
- [Примеры SWC Rust Compiler](https://elysiatools.com/ru/samples/swc): Примеры Speedy Web Compiler (SWC) включая конфигурацию, плагины и интеграцию с современными проектами JavaScript/TypeScript
- [Примеры QR-кодов](https://elysiatools.com/ru/samples/qrcode-samples): Примерные изображения QR-кодов для тестирования инструментов чтения и генерации QR-кодов
- [Примеры Apache Pulsar](https://elysiatools.com/ru/samples/pulsar-samples): Примеры Apache Pulsar включая pub/sub, ридеры, потребители с разными типами подписок, управление схемами и многоуровневое хранилище для корпоративной обмена сообщениями
