# Padroes do objeto

Aplica valores padrao com lodash _.defaults

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

- **Categoria:** Data Processing

- **Palavras-chave:** padrao, objeto, lodash, preencher, propriedades

## Visão geral

Atribui valores padrao para propriedades indefinidas do alvo.

**Destaques:**
- Usa lodash `_.defaults`
- So preenche propriedades undefined
- Fontes posteriores sao aplicadas primeiro

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

## 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 precisar definir configurações padrão para objetos de configuração que possuem campos opcionais.
- Quando você deseja mesclar múltiplos objetos de origem sem sobrescrever valores existentes no objeto alvo.
- Ao processar respostas de APIs onde certos campos podem estar ausentes e precisam de valores iniciais.

## Como funciona

- Insira o seu objeto JSON principal no campo 'Objeto Alvo'.
- Adicione um ou mais objetos de origem contendo os valores padrão desejados.
- A ferramenta percorre as propriedades e atribui os valores apenas onde a chave original for 'undefined'.
- O resultado final é um objeto consolidado com todos os campos preenchidos corretamente.

## Casos de uso

- Padronização de objetos de configuração de aplicações.
- Normalização de payloads de dados vindos de diferentes fontes.
- Inicialização de estados em aplicações front-end com valores padrão.

## Perguntas frequentes

### O que a ferramenta faz exatamente?

Ela atribui valores padrão a propriedades que estão indefinidas (undefined) no seu objeto alvo, usando a lógica do lodash _.defaults.

### Os valores existentes no meu objeto serão sobrescritos?

Não. A ferramenta preserva todos os valores definidos no objeto alvo e apenas preenche as lacunas com os valores das fontes.

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

Sim, você pode fornecer até três objetos de origem. As fontes posteriores são aplicadas primeiro na lógica de preenchimento.

### Qual é a biblioteca utilizada?

Esta ferramenta utiliza a função _.defaults da biblioteca lodash para garantir um processamento de dados robusto e confiável.

### O que acontece se uma propriedade já tiver um valor?

Se a propriedade já possuir um valor definido no objeto alvo, a ferramenta a ignora e mantém o valor original.

## Ferramentas relacionadas

- [Atribuir objeto](https://elysiatools.com/pt/tools/assign-object): Atribui propriedades de origem ao objeto alvo com lodash _.assign
- [Preencher Array](https://elysiatools.com/pt/tools/fill-array): Preencher array com valor do índice inicial ao final usando lodash _.fill
- [De Pares](https://elysiatools.com/pt/tools/from-pairs): Converte um array de pares chave-valor em objeto usando lodash _.fromPairs
- [Remover Valores](https://elysiatools.com/pt/tools/pull-values): Remove valores especificos do array com lodash _.pull
- [Sem Valores](https://elysiatools.com/pt/tools/without-values): Remove valores do array com lodash _.without
- [Zip Objeto](https://elysiatools.com/pt/tools/zip-object): Cria um objeto com lodash _.zipObject
- [Compactar Array](https://elysiatools.com/pt/tools/compact-array): Remova valores falsy de um array usando lodash _.compact
- [Achatando Array por Profundidade](https://elysiatools.com/pt/tools/flatten-depth-array): Achata um array em uma profundidade específica usando lodash _.flattenDepth

## 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
