Usando o HTML5 LocalStorage, posso encontrar o índice correspondente a um valor -chave
-
27-09-2019 - |
Pergunta
window.localStorage.setItem("Georgia","Atlanta")
var x=window.localStorage.getItem("Georgia")
Tenho uma lista de 50 estados e a maior cidade armazenada em LocalSorage. Usando o código acima, posso recuperar facilmente que Atlanta é a maior cidade de "Geórgia". Existe uma maneira fácil de fazer uma pesquisa inversa e pesquisar por "Atlanta" e obter "Georgia"?
Solução
O armazenamento local é um mapa simples de chave para valor, então não. Não há método para procurar a chave para um valor, ou mais precisamente, a chaves Porque pode haver mais de um.
Além disso, você pode armazenar uma tabela reversa da cidade-> Estado para conseguir isso:
// 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
Então agora setItem()
significa "existe uma relação entre x e y" e getItem()
Significa "existe um / qual é a relação entre x e y?"
Idealmente, você teria isso em duas tabelas diferentes para separar de que tipo de relacionamento você está falando (ou seja, estado-> cidade e cidade-> estado), mas você deve ficar bem neste caso simples.