0

JSlocalStorageで使用できます

localStorage.getItem(key);

変数のキーに対応するエントリの値を取得しkeyます。

キーを使用して(値ではなく)エントリのIDを取得するにはどうすればよいですか?


編集:申し訳ありませんが、私は人々を混乱させたに違いありません。「キー」とは、保存されているアイテムの数に応じて0、1、2、3などの数字キーを意味します。次に、テンキーから、保存されたID(次の例ではfooなど)を確認します。

localStorage.setItem('foo', 'bar');

4

4 に答える 4

1

LocalStorageはキーと値のペアとして実装されます(たとえば、https ://developers.google.com/web-toolkit/doc/latest/DevGuideHtml5Storageを参照)-したがって、一意の自動インクリメントIDのようなIDはありませんデータベーステーブル内。

ただし、インデックスを使用して要素にアクセスできます。localStorageでキーのインデックスを取得するには、次のように、検索するキーが見つかるまで各キーをループするしかありません。

var findIndexOfKey = function(searchKey) {
    for (var i = 0; i < localStorage.length; i++){
        var key = localStorage.key(i);
        if(key === searchKey)
            return i;
    }
    return -1;
}

次に、インデックスを使用してキーを取得するには、次のようにします。

localStorage.key(myIndex);

そして、値を取得するには、次のようにします。

localStorage.getItem(localStorage.key(myIndex));

...またはこれ(これはと同等ですlocalStorage.getItem("myKey")):

localStorage.getItem(localStorage.key(findIndexOfKey("myKey")));
于 2012-09-05T06:04:36.690 に答える
0

それは不可能だと思います。作れないlocalStorage.setItem(yourkey,value)?つまり

localStorage.setItem(0,value)  
localStorage.setItem(1,value)

これは、たとえばループで役立つ場合があります。

于 2012-09-05T06:19:35.827 に答える
0

アイテムを設定するときは、そのIDを値として指定する必要があり、getItem(key)を呼び出すときよりも、そのIDを戻り値として指定する必要があります。

localStorage.setItem('foo', 'bar');
localStorage.getItem('foo');  // it should return the bar

この例を見てください:http://mathiasbynens.be/notes/localstorage-pattern

于 2012-09-05T06:02:50.830 に答える
0

答え:

localStorage.key(key);

申し訳ありませんが、実際にキーと呼ばれるIDと呼ばれるものと、キーと呼ばれる数値IDとの間で混乱していることに気付きました...

于 2012-09-05T06:14:58.483 に答える