0
window.localStorage.setItem("Georgia","Atlanta") 
var x=window.localStorage.getItem("Georgia")

私は50の州とlocalstorageに保存されている最大の都市のリストを持っています。上記のコードを使用すると、アトランタが「ジョージア」の最大の都市であることを簡単に取得できます。逆引き参照を実行して「アトランタ」を検索し、「ジョージア」を取得する簡単な方法はありますか?

4

1 に答える 1

1

ローカルストレージは、キーから値への単純なマップであるため、違います。キーが複数存在する可能性があるため、キーで値を検索する方法はありません。より正確には、キーを検索する方法はありません。

これを実現するために、city->stateの逆テーブルを追加で保存できます。

// Georgia's largest city is Atlanta
window.localStorage.setItem("Georgia", "Atlanta") 

// What is Georgia's largest city?
var x=window.localStorage.getItem("Georgia") // returns Atlanta

// Atlanta is in Georgia
window.localStorage.setItem("Atlanta", "Georgia")

// What state does Atlanta belong to?
var y=window.localStorage.getItem("Atlanta") // returns Georgia

つまりsetItem()、「XとYの間に関係がある」getItem()という意味であり、「XとYの間に/はあるのか?」という意味です。

理想的には、これらを2つの異なるテーブルに入れて、話している関係のタイプ(つまり、州->都市と都市->州)を区別しますが、この単純なケースでは問題ないはずです。

于 2010-08-09T18:34:10.577 に答える