106 votes

Comment récupérer tous les éléments de localStorage sans connaître les clés à l'avance ?

Je veux montrer toutes les clés et le stockage écrit avant. Mon code est ci-dessous. J'ai créé une fonction (allStorage) mais elle ne fonctionne pas. Comment puis-je faire ?

    function storeUserScribble(id) {
        var scribble = document.getElementById('scribble').innerHTML;
        localStorage.setItem('userScribble',scribble);
    }

    function getUserScribble() {
        if ( localStorage.getItem('userScribble')) {
            var scribble = localStorage.getItem('userScribble');
        }
        else {
            var scribble = 'You can scribble directly on this sticky... and I will also remember your message the next time you visit my blog!';
        }
        document.getElementById('scribble').innerHTML = scribble;
    }

    function clearLocal() {
        localStorage.clear();
        return false;
    }

    function allStorage() {
        var archive = [];
        for (var i = 0; i<localStorage.length; i++) {
            archive[i] = localStorage.getItem(localStorage.key(i));
        }
    }

9voto

Igor Yar Points 101
for (let [key, value] of Object.entries(localStorage)) {
    console.log(`${key}: ${value}`);
}

1voto

David Burson Points 331

Un peu plus succinct :

function getAllLocalStorage() {
    return Object.keys(localStorage)
        .reduce((obj, k) => {
            return { ...obj, [k]: localStorage.getItem(k)}}, {});
        }

0voto

Elanthariyan Points 1

Pour obtenir tout le "localStorage", copiez-le et définissez le stockage local où vous voulez

var localstorage= {...localStorage} ;
var content = 'localStorage.clear();' ;
$.each(localstorage,(i,e)=>{
contenu+= localStorage.setItem('${i}','${e}'); })
copie(contenu)

-1voto

avalanche1 Points 786

Elles sont toutes encombrantes ou carrément incorrectes.

Le site Réponse correcte est :
JSON.parse(JSON.stringify(localStorage))

-1voto

JCrist Points 1

Obtenez un tableau de clés localStorage de cette façon :

console.log('keys: ', localStorage._keys)

Cela devrait probablement être évident en essayant la "bonne réponse", mais si vous voulez itérer ou rechercher seulement les noms des clés, localStorage._keys est votre simple point de départ.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X