JScript

Programação & Desenvolvimento


Você não está conectado. Conecte-se ou registre-se

Trabalhando com Array no LocalStorage

3 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Trabalhando com Array no LocalStorage Empty Trabalhando com Array no LocalStorage Seg 15 Jul 2013, 2:03 pm

joelson0007

joelson0007
Moderadores
Moderadores

Um simples exemplo para mostrar como trabalhar com Arrays, no LocalStorage.
Código:

//criando array
var aFrutas = ['banana','maca','pera','uva'];
//salvando array localStorage
localStorage["aFrutas"] = JSON.stringify(aFrutas);

//lendo array da localStorage
var aDataLocal = JSON.parse(localStorage['aFrutas']);
  for (var i in aDataLocal){
      console.log('Index Data '+i,aDataLocal[i])
  }

Essa é maneira que eu uso.

até mais.

JScript

JScript
Administradores
Administradores

Nota 10 amigo, melhor não poderia ser!!!

Excelente snippet, que tal transformar em UPF?

Edit: E no caso de gravar Objetos? Eu sei que tem um plugin semelhante ao localStorage que também grava...

JS

http://autoitbrasil.com

joelson0007

joelson0007
Moderadores
Moderadores

Código:

var oUsers = {usuario:'joelson',forum:'punbb',id:'54878548'}
//salvando objeto na localStorage
localStorage["oUsers"] = JSON.stringify(oUsers);
//lendo objeto da localStorage
var ob = JSON.parse(localStorage['oUsers']);
var userName = ob.usuario
console.log('nome do usuario = ',userName)
 

Eu uso dessa maneira também

JScript

JScript
Administradores
Administradores

Encontrei um site com o seguinte código:
Código:

Storage.prototype.setObj = function(key, obj) {
    return this.setItem(key, JSON.stringify(obj))
}
Storage.prototype.getObj = function(key) {
    return JSON.parse(this.getItem(key))
}
Onde usa-se: localStorage.setObj(key, value) e localStorage.getObj(key)
Bem interessante não acha?
Link: http://www.acetous.de/152/localstorage-sessionstorage-arrays-und-objekte-speichern

JS

http://autoitbrasil.com

joelson0007

joelson0007
Moderadores
Moderadores

Como pode ver a única diferença é que foi criado um protótipo especifico para a função, é como se a função fosse nativa do navegador, usada para bibliotecas, como a include-once do autoit
veja que a mágica é a mesma usando sempre o JSON.parse e o JSON.stringify

Dependendo de como vai usar o código dá para trabalhar com protótipo, mas em outra ocasiões não, depende muito da situação mesmo.

JScript

JScript
Administradores
Administradores

Verdade... Fica como se fosse um parâmetro da função!

Facilita mais pois não precisamos nos preocupar em repetir alguns trechos, mas achei que poderia ter um controle a mais como prevendo se a key existe ou não no .getObj(key)!

JS

http://autoitbrasil.com

joelson0007

joelson0007
Moderadores
Moderadores

Uma adição para prever se a key existe
Código:

Storage.prototype.getObj = function(key) {
    var r = JSON.parse(this.getItem(key))
    return (r)?r:'this key not exist'
    }

localStorage.getObj('@key')//se a key não existir vai retornar this key not exist

JScript

JScript
Administradores
Administradores

Bom, mas eu usaria retornando null, veja:
Código:

    Storage.prototype.getObj = function(key) {
        var r = JSON.parse(this.getItem(key))
        return (r)?r:null
        }

    localStorage.getObj('@key')//se a key não existir vai retornar this key not exist
Acho que ficaria melhor com os ifs...

JS

http://autoitbrasil.com

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

"Sonhando com o dia em que vou entender tudo que disseram acima" kkkkk
Mas enfim, o código parece ótimo!

http://wagneraugusto.com.br/

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos