--- title: IDBKeyRange.includes() slug: Web/API/IDBKeyRange/includes tags: - API - IDBKeyRange - IndexedDB - Méthode - Reference translation_of: Web/API/IDBKeyRange/includes ---
{{APIRef("IndexedDB")}}

La méthode includes(), rattachée à l'interface {{domxref("IDBKeyRange")}}, renvoie un booléen si la clé est contenue dans un intervalle de clé.

{{AvailableInWorkers}}

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 {{domxref("DOMException")}} de type {{domxref("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

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;
};

Spécifications

Spécification Statut Commentaire
{{SpecName('IndexedDB 2', '#dom-idbkeyrange-includes', 'includes()')}} {{Spec2('IndexedDB')}}  

Compatibilité des navigateurs

{{Compat("api.IDBKeyRange.includes")}}

Voir aussi