Используя html5 localstorage я могу найти индекс, соответствующий значению ключа - PullRequest
0 голосов
/ 09 августа 2010
window.localStorage.setItem("Georgia","Atlanta") 
var x=window.localStorage.getItem("Georgia")

У меня есть список из 50 штатов и самого большого города, хранящихся в местном хранилище. Используя приведенный выше код, я легко могу найти, что Атланта - самый большой город для «Джорджии». Есть ли простой способ сделать обратный поиск и найти «Атланта» и получить «Джорджия»?

1 Ответ

1 голос
/ 09 августа 2010

Local Storage - это простая карта от ключа к значению, так что нет. Не существует метода для поиска ключа по значению или, точнее, ключа s , поскольку их может быть несколько.

Вы можете дополнительно сохранить обратную таблицу 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?»

В идеале вы должны иметь их в двух разных таблицах, чтобы отделить тип отношений, о которых вы говорите (т. Е. Штат-> город и город-> штат), но в этом простом случае все должно быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...