Utilizzando HTML5 localStorage riesco a trovare l'indice corrispondente a un valore chiave

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

  •  27-09-2019
  •  | 
  •  

Domanda

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

Ho una lista di 50 stati e la città più grande memorizzato in localStorage. Utilizzando il codice di cui sopra posso facilmente recuperare che Atlanta è la più grande città per "Georgia". C'è un modo semplice per eseguire una ricerca inversa e la ricerca di "Atlanta" e ottenere "Georgia"?

È stato utile?

Soluzione

Local Storage è una semplice mappa da chiave a valore, così no. Non esiste un metodo per cercare la chiave per un valore, o più precisamente, il tasto s perché ci potrebbero essere più di uno.

Si potrebbe inoltre memorizzare una tabella di inversione di città-> Stato per ottenere questo risultato:

// 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

mezzi Così ora setItem() "esiste una relazione tra X e Y" e significa getItem() "C'è una / qual è il rapporto tra X e Y?"

Idealmente si avrebbe avuto questi in due diverse tabelle di separare ciò che tipo di rapporto si sta parlando (cioè, state-> città e città-> Stato), ma si dovrebbe essere a posto in questo caso semplice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top