Ключевые факты
- Категория
- Data Processing
- Типы входных данных
- textarea
- Тип результата
- text
- Покрытие примерами
- 4
- API доступен
- Yes
Обзор
Инструмент 'Глубокие значения по умолчанию' использует функцию lodash _.defaultsDeep для рекурсивного применения значений по умолчанию к целевому JSON объекту. Он заполняет только те свойства, которые имеют значение undefined, сохраняя существующие значения в целевом объекте.
Когда использовать
- •Когда нужно объединить конфигурационные объекты, сохраняя приоритет целевого объекта.
- •При работе с вложенными структурами данных, где требуется глубокое слияние значений по умолчанию.
- •Для нормализации данных, заполняя пропущенные поля значениями из источников.
Как это работает
- •Вводите целевой JSON объект в поле 'Целевой объект'.
- •Добавьте один или несколько объектов источников в поля 'Источник 1', 'Источник 2' и 'Источник 3'.
- •Инструмент применяет функцию _.defaultsDeep, рекурсивно назначая значения по умолчанию для undefined свойств.
- •Результат — объединённый объект, где целевые значения имеют приоритет.
Сценарии использования
Примеры
1. Слияние конфигураций приложения
- Контекст
- Разработчик имеет базовую конфигурацию приложения и хочет применить пользовательские настройки, не теряя значения по умолчанию.
- Проблема
- Заполнить пропущенные настройки в целевом объекте значениями из источников.
- Как использовать
- Введите целевой объект в поле 'Целевой объект', например {"debug":false}, и источники в поля 'Источник 1' и 'Источник 2', например {"debug":true,"logLevel":"info"} и {"timeout":5000}.
- Результат
- Результат: {"debug":false,"logLevel":"info","timeout":5000} — целевое значение debug сохранено, остальные поля добавлены из источников.
2. Подготовка данных для отчёта
Аналитик- Контекст
- Аналитик собирает данные из нескольких систем, где некоторые записи имеют неполные поля.
- Проблема
- Обеспечить полноту данных, заполнив отсутствующие значения стандартными.
- Как использовать
- Загрузите целевой объект с текущими данными и объекты источников с шаблонами значений по умолчанию.
- Пример конфигурации
-
targetObject: {"Продажи":100000}, source1: {"Продажи":0,"Регион":"Не указано"} - Результат
- Результат: {"Продажи":100000,"Регион":"Не указано"} — данные дополнены, но существующие значения не изменены.
Проверить на примерах
jsonСвязанные хабы
FAQ
Что делает инструмент 'Глубокие значения по умолчанию'?
Он рекурсивно применяет значения по умолчанию к целевому объекту, заполняя только undefined свойства с помощью lodash _.defaultsDeep.
Как использовать несколько источников?
Вы можете добавить до трёх объектов источников: один обязательный в поле 'Источник 1' и два необязательных в поля 'Источник 2' и 'Источник 3'.
Какой приоритет имеют значения?
Целевой объект имеет приоритет: его значения не изменяются, источники добавляют только отсутствующие свойства.
Поддерживаются ли не-JSON форматы?
Нет, инструмент работает только с JSON объектами. Все входные данные должны быть в формате JSON.
Что происходит с массивами или другими типами данных?
Функция _.defaultsDeep обрабатывает вложенные объекты, но для массивов и других типов поведение может отличаться; рекомендуется использовать с объектами.