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