Usando o HTML5 LocalStorage, posso encontrar o índice correspondente a um valor -chave

StackOverflow https://stackoverflow.com/questions/3442910

  •  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"?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top