Dodawanie tablicy do localStorage (JSON.stringify()) | Zapisujemy nasze zadania w localStorage


Zapisanie bardziej złożonych struktur danych w localStorage wymaga dodatkowej czynności. Kiedy np. chcemy przechować lub nadpisać tablicę (a będziemy chcieli przechować tablicę z naszymi zadaniami), to musimy przekształcić ją na postać tekstową (stąd nazwa metody stringify(), czyli coś w rodzaju przekształć w string (ciąg znaków)) i przypisać do klucza:

localStorage.setItem("tasks", JSON.stringify(["zrobić kawę", "sprawdzić maila", "zajrzeć na stronę kodujemywbiurze.pl"]))

Powyższy kod wygląda strasznie 😬, ale zaraz "rozbijemy" go na mniejsze polecenia i rozłożymy na czynniki pierwsze.

Zwróc uwagę, że do metody setItem() przekazaliśmy najpierw tak, jak wcześniej, nazwę klucza "tasks" w cudzysłowiu, natomiast drugim argumentem nie jest po prostu tablica, tylko tablica przekazana jako argument do metody JSON.stringify(), która zwraca tablicę w ciąg znaków.

Bardziej klarownym i czytelnym rozwiązaniem byłoby najpierw przypisać tablicę do zmiennej, a potem zmienną przekazać do JSON.stringify():

let tasks = ["zrobić kawę", "sprawdzić maila", "zajrzeć na stronę kodujemywbiurze.pl"];

localStorage.setItem("tasks", JSON.stringify(tasks));

Możemy też ten kod rozbić jeszcze bardziej:

let tasks = ["zrobić kawę", "sprawdzić maila", "zajrzeć na stronę kodujemywbiurze.pl"];
let tasksStringified = JSON.stringify(tasks);

localStorage.setItem("tasks", tasksStringified);