entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Como puedo obtener todos los elementos del localstorage?

Hola, en el localstorage tengo varias variables con 2 numeros aleatorios y su funcion. Ejemplo: 62.mapin o 72.mapin. Como puedo obtener todos los localstorage que acaben en .mapin sin saber esos numeros ya que son aleatorios?

0voto

Leonardo-Tadei comentado

Hola,

me podrías aclarar un poco el nombre de las variables del localStorage y su contenido?

No me queda claro si la valriable del localStorage se llama 62 y tiene una propiedad mapin, o si 62.mapin es el contenido de la variable del localStorage y dicha variable tiene otro nombre...

Me sirve una breve explicación o un ejemplo de asignación de propiedades para conocer la forma del contenido del localStorage y de ahí ver como se podría hacer para acceder al contenido.

0voto

Jaumesv comentado

la variable es 62.mapin, actua como un item diferente a si por ejemplo tuviera otra llamada 62.local

0voto

Leonardo-Tadei comentado

Pero siendo que en JS los nombres de variable no pueden tener puntos, esto significa que la variable se llama 62, es un objeto, y contiene a su vez a la variable mapin?

En tu ejemplo, la variable 62 puede tener una propiedad mapin y otra local de la que podría ver sus contenidos haciendo console.log(62.mapin) y console.log(62.local) ?

Estoy un poco perdido :-(

0voto

Jaumesv comentado

enter image description here

0voto

Leonardo-Tadei comentado

Ok. Y cómo estás haciendo la asignación del valor del elemento?
Si hago localStorage.62 = 'algo': obtengo Exception: missing ; before statement porque no se puede crear una propiedad de una variable que empiece con un número.

Lo mismo si hago localStorage.62.mapin = 'algo': porque el 62 viola la sintaxis.

Es evidente que estás asignando los valores al localStorage de una manera que no entiendo :-(
Podrías poner en 2 o 3 líneas de código un ejemplo estático de creación del elemento del localStorage y la asignación del valor?

0voto

Jaumesv comentado

Para asignar un valor lo hago asi:

  var aleatorio = Math.floor(Math.random() * 51) + 25;
  localStorage.setItem(aleatorio+'.mapin', '')

0voto

Leonardo-Tadei comentado

Gracias!

llevo un par de años asignado valores al localStorage simplemente con localStorage.clave = 'valor' y se me había olvidado el setItem() ...

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola Jaumesv,

podrías recorrer los elementos almacenados y ver cuales coninciden con la regla que te hace falta, en este caso, el tener ".mapin":

for (i=0; i<=localStorage.length-1; i++) {
    key = localStorage.key(i);
    if(key.indexOf(".mapin") != -1) {
       console.log(key +' contiene '+ localStorage.getItem(key) );
    }
}

Se podría afinar un poco el criterio de concordancia, pero si todas empiezan con números, buscar que contenga la subcadena deseada es suficiente.

No seé si es importante, pero tu mecanismo de asignación de las claves de los items puede repetirse y sobreescribir un valor anterior.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta