J'essaye d'enregistrer un tableau à l'intérieur d'une valeur localStorage. Je ne peux accéder qu'aux caractères de la valeur, pas à la valeur groupée. J'ai essayé d'écrire une fonction pour les regrouper par des virgules, mais je ne sais pas comment le faire correctement.
// setting values localStorage.setItem("foo", [15,"bye"]); // writes the whole thing. document.write(localStorage.getItem("foo")); // returns 15,bye // only writes the first character, instead of one part of the array // (in this case it would be 15). document.write(localStorage.getItem("foo")[0]); // returns 1
3 Réponses :
J'utiliserais JSON .stringify
pour définir les données et JSON.parse
pour récupérer les données stockées.
Essayez ceci:
localStorage.setItem("foo", JSON.stringify([15,"bye"])); // writes the whole thing. localStorage.getItem("foo"); // returns 15,bye var data = JSON.parse(localStorage.getItem("foo")); console.log(data[0])
localStorage
ne peut stocker que la chaîne dans sa valeur, c'est pourquoi il n'en stocke que 15;
Utilisez JSON.stringify
et stockez-le dans le stockage local sous le nom localStorage.setItem ("foo", JSON.stringify ([15, "bye"]))
;
Si vous voulez récupérer la valeur, faites comme JSON.parse(localStorage.getItem("foo"));
Vous pouvez analyser json
localStorage.getItem('foo').split(',')[0]
Ou vous pouvez diviser par "," et obtenir l'élément d'index 0e
.
let data = JSON.parse(localStorage.getItem("foo")); console.log(data[0])
Voir: stackoverflow. com / questions / 3357553 /…