--- title: IDBFactory.cmp() slug: Web/API/IDBFactory/cmp tags: - API - IDBFactory - IndexedDB - Méthode - Reference translation_of: Web/API/IDBFactory/cmp ---
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.
var resultat = window.indexedDB.cmp(a, b);
a
b
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. |
Cette méthode peut lever une exception {{domxref("DOMException")}} de type :
Exception | Description |
---|---|
DataError |
L'une des clés fournies n'est pas valide. |
var a = 1; var b = 2; var result = window.indexedDB.cmp(a, b); console.log( "Résultat de la comparaison : " + result );
Spécification | État | Commentaires |
---|---|---|
{{SpecName('IndexedDB', '#widl-IDBFactory-cmp-short-any-first-any-second', 'cmp')}} | {{Spec2('IndexedDB')}} |
Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Support simple | 23{{property_prefix("webkit")}} 24 |
{{CompatVersionUnknown}} | 10 {{property_prefix("moz")}} {{CompatGeckoDesktop("16.0")}} |
10 | 15 | 7.1 |
Disponible dans les workers | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("37.0")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 10 |
Fonctionnalité | Android | Webview Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome pour Android |
---|---|---|---|---|---|---|---|---|
Support simple | 4.4 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("22.0")}} | 10 | 22 | 8 | {{CompatVersionUnknown}} |
Disponible dans les workers | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("37.0")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 10 | {{CompatVersionUnknown}} |