blob: 552a7a02bc20d8bacb88577e7898a9c56ba1f6c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
---
title: IDBFactory.cmp()
slug: Web/API/IDBFactory/cmp
tags:
- API
- IDBFactory
- IndexedDB
- Méthode
- Reference
translation_of: Web/API/IDBFactory/cmp
---
{{APIRef("IndexedDB")}}
La méthode **`cmp()`** de l'interface {{domxref("IDBFactory")}} compare deux valeurs de clé et détermine si celles-ci sont égales et sinon, laquelle est la plus grande. Cette opération est utilisée pour l'enregistrement et le parcours des données.
{{AvailableInWorkers}}
> **Note :** Cette méthode ne doit pas être utilisée pour comparer des valeurs JavaScript. En effet, de nombreuses valeurs JavaScript ne sont pas des valeurs valides pour représenter des clés IndexedDB (les booléens et les objets par exemple), dans ces cas, elles peuvent être traitées comme des clés égales (ainsi IndexedDB ignore les tableaux ayant des propriétés non numériques et les considère comme des tableaux vides, de sorte que les éventuels tableaux non numériques seront considérés comme égaux). Une exception est levée si l'une des valeurs n'est pas une clé valide.
## Syntaxe
var resultat = window.indexedDB.cmp(a, b);
### Paramètres
- `a`
- : La première clé pour la comparaison.
- `b`
- : La deuxième clé pour la comparaison.
### Valeur de retour
Un entier qui indique le résultat de la comparaison. Le tableau ci-dessous indique les valeurs possibles et leur signification :
| Valeur renvoyée | Description |
| --------------- | -------------------------------------- |
| -1 | La clé 1 est plus petite que la clé 2. |
| 0 | Les deux clé sont égales. |
| 1 | La clé 1 est plus grande que la clé 2. |
### Exceptions levées
Cette méthode peut lever une exception {{domxref("DOMException")}} de type :
| Exception | Description |
| ---------------------------------------- | ----------------------------------------- |
| [`DataError`](/fr/docs/Web/API/DOMError) | L'une des clés fournies n'est pas valide. |
## Exemples
```js
var a = 1;
var b = 2;
var result = window.indexedDB.cmp(a, b);
console.log( "Résultat de la comparaison : " + result );
```
## Spécifications
| Spécification | État | Commentaires |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------ |
| {{SpecName('IndexedDB', '#widl-IDBFactory-cmp-short-any-first-any-second', 'cmp')}} | {{Spec2('IndexedDB')}} | |
## Compatibilité des navigateurs
{{Compat("api.IDBFactory.cmp")}}
## Voir aussi
- [Utiliser IndexedDB](/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB)
- Initier une connexion : {{domxref("IDBDatabase")}}
- Utiliser les transactions : {{domxref("IDBTransaction")}}
- Définir un intervalle de clés : {{domxref("IDBKeyRange")}}
- Récupérer et modifier les données : {{domxref("IDBObjectStore")}}
- Utiliser les curseurs {{domxref("IDBCursor")}}
- Exemple de référence : [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([exemple _live_](https://mdn.github.io/to-do-notifications/)).
|