# Trouver la cle

Trouve la premiere cle avec lodash _.findKey

> Page canonique: https://elysiatools.com/fr/tools/find-key

- **Catégorie:** Data Processing

- **Mots-clés:** trouver, cle, lodash, objet, predicat

## Présentation

Trouve la premiere cle dont la valeur correspond a un predicat.

**Points forts :**
- Utilise lodash `_.findKey`
- Prend en charge les predicats property, matchesProperty ou matches objet
- Renvoie la premiere cle ou null

**Exemple :**
- Objet : `{"a":{"active":false},"b":{"active":true}}`
- Type de predicat : `Property`
- Nom de propriete : `active`
- Resultat : `"b"`

## Entrées

- **Objet** (textarea): Entrez un objet JSON
- **Type de Predicat** (select)
- **Nom de Propriete** (text): Nom de propriete truthy pour le predicat property
- **Chemin de Correspondance** (text): Chemin de propriete pour matchesProperty
- **Valeur de Correspondance** (textarea): Valeur JSON a faire correspondre
- **Objet de Correspondance** (textarea): Objet JSON a faire correspondre

## Quand l'utiliser

- Identifier rapidement une clé dans un objet complexe selon une propriété booléenne.
- Rechercher une correspondance précise au sein d'une structure de données imbriquée.
- Filtrer des configurations ou des listes d'objets pour isoler un élément spécifique.

## Fonctionnement

- Saisissez votre objet JSON dans le champ dédié.
- Sélectionnez le type de prédicat souhaité (Propriété, Correspondance de propriété ou Correspondance d'objet).
- Configurez les paramètres du prédicat pour définir le critère de recherche.
- Obtenez instantanément la première clé correspondante ou null si aucune correspondance n'est trouvée.

## Cas d'usage

- Recherche d'un utilisateur actif dans une liste d'identifiants.
- Extraction de la clé d'une configuration système correspondant à un état spécifique.
- Identification rapide d'un élément dans un catalogue de produits basé sur des attributs.

## Questions fréquentes

### Quelle bibliothèque est utilisée pour la recherche ?

L'outil utilise la fonction _.findKey de la bibliothèque lodash.

### Que se passe-t-il si aucune clé ne correspond ?

L'outil renvoie null.

### Puis-je rechercher des objets imbriqués ?

Oui, en utilisant le type de prédicat 'Correspondance de propriété' ou 'Correspondance d'objet'.

### L'outil est-il limité à la première occurrence ?

Oui, il renvoie uniquement la première clé trouvée qui satisfait le prédicat.

### Quel format de données est requis ?

L'entrée doit être un objet JSON valide.

## Outils associés

- [Compter par](https://elysiatools.com/fr/tools/count-by): Compte les elements par cle derivee avec lodash _.countBy
- [Grouper par](https://elysiatools.com/fr/tools/group-by): Groupe les elements par cle derivee avec lodash _.groupBy
- [Premier Élément](https://elysiatools.com/fr/tools/head-item): Récupère le premier élément d'un tableau avec lodash _.head
- [Index De](https://elysiatools.com/fr/tools/index-of): Trouve l'index d'une valeur dans un tableau avec lodash _.indexOf
- [Indice Trie](https://elysiatools.com/fr/tools/sorted-index): Trouve l indice d insertion avec lodash _.sortedIndex
- [Queue du Tableau](https://elysiatools.com/fr/tools/tail-items): Retourne tout sauf le premier avec lodash _.tail
- [Prendre des Elements](https://elysiatools.com/fr/tools/take-items): Prend les N premiers elements avec lodash _.take
- [Assigner avec heritage](https://elysiatools.com/fr/tools/assign-in-object): Assigne les proprietes propres et heritees avec lodash _.assignIn

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