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

var isIncluded = myKeyRange.includes(key)

Parameters

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

Return value

A Boolean.

Exceptions

This method may raise a DOMException of the following type:

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

Example

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

Specification

Specification Status Comment
Indexed Database API Draft
The definition of 'includes()' in that specification.
Recommendation
Indexed Database API Draft
The definition of 'includes()' in that specification.
Recommendation

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
includesChrome Full support 52Edge Full support ≤18Firefox Full support 47IE ? Opera Full support 39Safari Full support 10.1WebView Android Full support 52Chrome Android Full support 52Firefox Android Full support YesOpera Android Full support 41Safari iOS Full support 10.3Samsung Internet Android Full support 6.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown

See also