IDBFactory: cmp() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
メモ: この機能はウェブワーカー内で利用可能です。
cmp()
は IDBFactory
インターフェイスのメソッドで、格納や反復処理などの IndexedDB 処理において、2 つの値をキーとして比較し、等しさや順序を決定します。
メモ: このメソッドを任意の JavaScript における値の比較に使用してはいけません。なぜなら、JavaScript の値の多くは IndexedDB の有効なキーではない(例えば、論理値やオブジェクト)か、IndexedDB で等価なキーとして扱われるためです(例えば、IndexedDB は数値以外のプロパティを持つ配列を無視して空の配列として扱うため、数値でない配列は全て等価として扱われます)。このメソッドは、値のうちいずれかが有効なキーでないとき、例外を投げます。
構文
js
cmp(first, second)
引数
返値
比較結果を示す整数値です。下記のテーブルでは、取りうる値とその意味を示しています。
返値 | 説明 |
---|---|
-1 | 1 つ目のキーが 2 つ目のキーより小さい |
0 | 1 つ目のキーと 2 つ目のキーが等しい |
1 | 1 つ目のキーが 2 つ目のキーより大きい |
例外
DataError
DOMException
-
指定されたキーの何れかが有効なキーではなかった場合。
例
js
const a = 1;
const b = 2;
const result = window.indexedDB.cmp(a, b);
console.log(`比較結果: ${result}`);
仕様書
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbfactory-cmp① |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キーの範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)