W3cubDocs

/DOM

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

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic Support 52 47.0 (47.0) ? 39 ?
Indexed Datbase 2.0 58 ? ? 45 ?
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic Support 52 52 ? ? ? 39 ?
Indexed Datbase 2.0 58 58 ? ? ? 45 ?

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBKeyRange/includes