The includes() method of the IDBKeyRange interface returns a boolean indicating whether a specified key is inside the key range.

Note: This feature is available in Web Workers


var isIncluded = myKeyRange.includes(key)


key The key you want to check for in your key range. This can be any type.

Return value

A boolean value.


This method may raise a DOMException of the following type:

Attribute Description
DataError The supplied key was not a valid key.


var keyRangeValue = IDBKeyRange.bound('A', 'K', false, false);

var myResult = keyRangeValue.includes('F');
// Returns true

var myResult = keyRangeValue.includes('W');
// Returns false


The includes() method was added in the second edition of the Indexed DB specification. For browsers that do not support it, the following polyfill can be used.

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;


Indexed Database API 3.0 (Indexed DB 3.0)
# ref-for-dom-idbkeyrange-includes①

Browser compatibility

BCD tables only load in the browser

See also