IDBKeyRange.includes()

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

Syntax

includes(key)

Parameters

key

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

Return value

A boolean value.

Exceptions

DataError DOMException

Thrown if the supplied key was not a valid key.

Examples

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

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

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

Polyfill

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

Specifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbkeyrange-includes①

Browser compatibility

BCD tables only load in the browser

See also