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
myIncludesResult = myKeyRange.includes('A');
Parameters
- key
- The key you want to check for in your key range. This can be any type.
Returns
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
Specification
Specification | Status | Comment |
---|---|---|
Indexed Database API (Second Edition) The definition of 'includes()' in that specification. |
Editor's Draft |
Browser compatibility
[1] Behind a flag.
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;
};
See also
- Using IndexedDB
- Starting transactions:
IDBDatabase
- Using transactions:
IDBTransaction
- Setting a range of keys:
IDBKeyRange
- Retrieving and making changes to your data:
IDBObjectStore
- Using cursors:
IDBCursor
- Reference example: To-do Notifications (view example live.)