# Valeurs par defaut profondes

Applique des valeurs par defaut profondes avec lodash _.defaultsDeep

> Page canonique: https://elysiatools.com/fr/tools/defaults-deep

- **Catégorie:** Data Processing

- **Mots-clés:** defaultsDeep, objet, lodash, imbrique, proprietes

## Présentation

Assigne des valeurs par defaut de facon recursive aux proprietes indefinies.

**Points forts :**
- Utilise lodash `_.defaultsDeep`
- Applique les valeurs par defaut aux objets imbriques
- Ne remplit que les proprietes undefined

**Exemple :**
- Cible : `{"a":{"b":1}}`
- Source 1 : `{"a":{"b":2,"c":3}}`
- Resultat : `{"a":{"b":1,"c":3}}`

## Entrées

- **Objet Cible** (textarea): Entrez l'objet JSON cible
- **Source 1** (textarea): Premier objet source
- **Source 2** (textarea): Objet source optionnel
- **Source 3** (textarea): Objet source optionnel

## Quand l'utiliser

- Lorsque vous devez fusionner des configurations complexes avec des paramètres par défaut.
- Pour compléter des objets JSON imbriqués sans modifier les valeurs déjà définies.
- Lors de la normalisation de structures de données provenant de sources multiples.

## Fonctionnement

- Saisissez votre objet JSON principal dans le champ Cible.
- Ajoutez un ou plusieurs objets sources contenant les valeurs par défaut souhaitées.
- L'outil parcourt récursivement les objets et injecte les valeurs uniquement là où la propriété est indéfinie.
- Récupérez l'objet fusionné final prêt à être utilisé dans votre application.

## Cas d'usage

- Initialisation de fichiers de configuration d'application avec des paramètres système par défaut.
- Fusion de profils utilisateur avec des préférences globales et des paramètres spécifiques.
- Préparation de payloads API en complétant les champs optionnels manquants.

## Questions fréquentes

### Qu'est-ce que la fusion profonde ?

La fusion profonde parcourt les objets imbriqués pour appliquer les valeurs par défaut à chaque niveau de la hiérarchie, contrairement à une fusion superficielle qui ne traite que le premier niveau.

### Les valeurs existantes sont-elles écrasées ?

Non, l'outil ne remplit que les propriétés qui sont actuellement indéfinies (undefined) dans l'objet cible.

### Combien d'objets sources puis-je ajouter ?

Vous pouvez ajouter jusqu'à trois objets sources pour structurer vos données par couches de priorité.

### Quel moteur est utilisé pour le traitement ?

L'outil s'appuie sur la bibliothèque standard lodash et sa fonction _.defaultsDeep pour garantir une fiabilité maximale.

### L'outil gère-t-il les tableaux ?

Oui, il traite les structures JSON complexes, y compris les objets imbriqués et les tableaux, selon les règles de fusion de lodash.

## Outils associés

- [Assigner avec heritage](https://elysiatools.com/fr/tools/assign-in-object): Assigne les proprietes propres et heritees avec lodash _.assignIn
- [Aplatir Profondément le Tableau](https://elysiatools.com/fr/tools/flatten-deep-array): Aplatit complètement un tableau en utilisant lodash _.flattenDeep
- [Parcourir objet](https://elysiatools.com/fr/tools/for-in-object): Itère les propriétés avec lodash _.forIn
- [Parcourir proprietes](https://elysiatools.com/fr/tools/for-own): Itere les proprietes propres avec lodash _.forOwn
- [Inverser par](https://elysiatools.com/fr/tools/invert-by): Inverse en groupant par valeurs avec lodash _.invertBy
- [Inverser objet](https://elysiatools.com/fr/tools/invert-object): Inverse cles et valeurs avec lodash _.invert
- [Liste cles heritees](https://elysiatools.com/fr/tools/keys-in-list): Liste cles propres et heritees avec lodash _.keysIn
- [Liste des cles](https://elysiatools.com/fr/tools/keys-list): Liste les cles propres avec lodash _.keys

## Exemples

- [Exemples Avancés d'Application Grafana](https://elysiatools.com/fr/samples/grafana-samples): Exemples complets de Grafana couvrant le design avancé de tableaux de bord, la configuration d'alertes, l'intégration de sources de données et le développement de plugins
- [Exemples de Codes QR](https://elysiatools.com/fr/samples/qrcode-samples): Images de codes QR d'exemple pour tester les outils de lecture et de génération de codes QR
- [Exemples D3.js Data Visualization](https://elysiatools.com/fr/samples/d3js-data-visualization): Exemples complets de visualisation de données D3.js incluant graphiques, cartes, animations et visualisations interactives
- [Exemples Toolchain JavaScript Rome](https://elysiatools.com/fr/samples/rome): Exemples de toolchain JavaScript Rome incluant configuration, linting, formatting, bundling et gestion de projets
