IDBKeyRange.includes()
La méthode includes()
, rattachée à l'interface IDBKeyRange
, renvoie un booléen si la clé est contenue dans un intervalle de clé.
Note :
Cette fonctionnalité est disponible via les Web Workers.Syntaxe
myIncludesResult = myKeyRange.includes('A');
Paramètres
key
- La clé dont on souhaite savoir si elle est dans l'intervalle.
Valeur de retour
Un booléen.
Exceptions
Cette méthode peut lever une exception DOMException
de type DataError
lorsque la clé fournie n'est pas une clé valide.
Exemples
var keyRangeValue = IDBKeyRange.bound('A', 'K', false, false);
var monResultat = keyRangeValue.includes('F');
// Renvoie true
var monResultat = keyRangeValue.includes('W');
// Renvoie false
Spécifications
Spécification | État | Commentaires |
---|---|---|
Indexed Database API 2.0 La définition de 'includes()' dans cette spécification. |
Recommendation |
Compatibilité des navigateurs
Nous convertissons les données de compatibilité dans un format JSON.
Ce tableau de compatibilité utilise encore l'ancien format
car nous n'avons pas encore converti les données qu'il contient.
Vous pouvez nous aider en contribuant !
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support simple |
52.0 |
47.0 (47.0) | ? | 39 | ? |
Fonctionnalité | Android | Webview Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome pour Android |
---|---|---|---|---|---|---|---|---|
Support simple | Pas de support | 52.0 | ? | ? | ? | 39 | ? | 52.0 |
Prothèse d'émulation (polyfill)
La méhode includes()
a été ajoutée à partir de la deuxième édition de la spécification d'Indexed DB. Pour les navigateurs qui ne prennent pas en charge cette fonctionnalité, on peut utiliser la prothèse suivante.
IDBKeyRange.prototype.includes = IDBKeyRange.prototype.includes || function(key) {
var r = this, c;
if (r.lower !== undefined) {
c = indexedDB.cmp(key, r.lower);
if (r.lowerOpen && c <= 0) return false;
if (!r.lowerOpen && c < 0) return false;
}
if (r.upper !== undefined) {
c = indexedDB.cmp(key, r.upper);
if (r.upperOpen && c >= 0) return false;
if (!r.upperOpen && c > 0) return false;
}
return true;
};
Voir aussi
- Utiliser IndexedDB
- Initier une connexion :
IDBDatabase
- Utiliser les transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer et modifier les données :
IDBObjectStore
- Utiliser les curseurs
IDBCursor
- Exemple de référence : To-do Notifications (exemple live).