# Padroes profundos

Aplica valores padrao profundos com lodash _.defaultsDeep

> Página canônica: https://elysiatools.com/pt/tools/defaults-deep

- **Categoria:** Data Processing

- **Palavras-chave:** defaultsDeep, objeto, lodash, aninhado, propriedades

## Visão geral

Atribui valores padrao recursivamente para propriedades indefinidas.

**Destaques:**
- Usa lodash `_.defaultsDeep`
- Aplica valores a objetos aninhados
- So preenche propriedades undefined

**Exemplo:**
- Alvo: `{"a":{"b":1}}`
- Fonte 1: `{"a":{"b":2,"c":3}}`
- Resultado: `{"a":{"b":1,"c":3}}`

## Entradas

- **Objeto Alvo** (textarea): Digite o objeto JSON alvo
- **Fonte 1** (textarea): Primeiro objeto fonte
- **Fonte 2** (textarea): Objeto fonte opcional
- **Fonte 3** (textarea): Objeto fonte opcional

## Quando usar

- Ao mesclar configurações de usuário com configurações padrão do sistema.
- Para garantir que objetos aninhados complexos possuam todos os campos necessários.
- Quando você precisa preencher lacunas em estruturas de dados sem alterar valores já definidos.

## Como funciona

- Insira o seu objeto JSON principal no campo 'Objeto Alvo'.
- Adicione um ou mais objetos de origem contendo os valores padrão que deseja aplicar.
- A ferramenta processa recursivamente os níveis do objeto, preenchendo apenas as propriedades que estão como 'undefined'.
- Obtenha o objeto resultante com as propriedades padrão integradas de forma profunda.

## Casos de uso

- Padronização de arquivos de configuração de aplicações.
- Preparação de payloads de API com valores default para campos opcionais.
- Mesclagem de preferências de usuário com configurações globais de sistema.

## Perguntas frequentes

### O que o Padrões Profundos faz exatamente?

Ele preenche propriedades ausentes em objetos JSON de forma recursiva, garantindo que objetos aninhados recebam valores padrão sem sobrescrever os dados que você já possui.

### Ele sobrescreve valores existentes?

Não. A ferramenta utiliza a lógica _.defaultsDeep, que apenas preenche propriedades que ainda não possuem um valor definido.

### Posso usar múltiplos objetos de origem?

Sim, você pode fornecer até três objetos de origem para compor a estrutura final do seu objeto alvo.

### Esta ferramenta funciona com objetos simples ou apenas aninhados?

Funciona com ambos. Ela é especialmente útil para objetos aninhados, pois percorre toda a árvore de propriedades.

### Qual biblioteca é utilizada?

A ferramenta utiliza a função _.defaultsDeep da biblioteca lodash, garantindo um comportamento consistente e confiável.

## Ferramentas relacionadas

- [Atribuir com heranca](https://elysiatools.com/pt/tools/assign-in-object): Atribui propriedades proprias e herdadas com lodash _.assignIn
- [Achatando Array Profundamente](https://elysiatools.com/pt/tools/flatten-deep-array): Achata completamente um array usando lodash _.flattenDeep
- [Iterar objeto](https://elysiatools.com/pt/tools/for-in-object): Itera propriedades com lodash _.forIn
- [Iterar proprio](https://elysiatools.com/pt/tools/for-own): Itera propriedades proprias com lodash _.forOwn
- [Inverter por](https://elysiatools.com/pt/tools/invert-by): Inverte agrupando por valores com lodash _.invertBy
- [Inverter objeto](https://elysiatools.com/pt/tools/invert-object): Inverte chaves e valores com lodash _.invert
- [Lista de chaves herdadas](https://elysiatools.com/pt/tools/keys-in-list): Lista chaves proprias e herdadas com lodash _.keysIn
- [Lista de chaves](https://elysiatools.com/pt/tools/keys-list): Lista chaves proprias com lodash _.keys

## Exemplos

- [Exemplos Avançados de Aplicação Grafana](https://elysiatools.com/pt/samples/grafana-samples): Exemplos compreensivos de Grafana cobrindo design avançado de dashboards, configuração de alertas, integração de fontes de dados e desenvolvimento de plugins
- [Exemplos de Códigos QR](https://elysiatools.com/pt/samples/qrcode-samples): Imagens de código QR de exemplo para testar ferramentas de leitura e geração de código QR
- [Exemplos D3.js Data Visualization](https://elysiatools.com/pt/samples/d3js-data-visualization): Exemplos abrangentes de visualização de dados D3.js incluindo gráficos, mapas, animações e visualizações interativas
- [Exemplos Rome JavaScript Toolchain](https://elysiatools.com/pt/samples/rome): Exemplos de toolchain JavaScript Rome incluindo configuração, linting, formatting, bundling e gerenciamento de projetos
