Pobranie tablicy z localStorage (JSON.parse()) | Pobieramy nasze zadania z localStorage


Żeby pobrać tablicę z localStorage również musimy zastosować dodatkową metodę uzupełniającą getItem(), ponieważ tablica jest zapisana w postaci ciągu tekstowego. W związku z tym, musimy "opakować" metodę getItem() w JSON.parse() - metodę, która przekształci naszą tablicę z ciągu tekstowego z powrotem w JavaScriptową tablicę:

let tasksFromLocalStorage = JSON.parse(localStorage.getItem("tasks"));

Powyższy kod również wygląda strasznie 😬, więc podobnie "rozbijemy" go na mniejsze polecenia i rozłożymy na czynniki pierwsze.

Zwróć uwagę na liczbę nawiasów: ponieważ localStorage.getItem("tasks") zostało przekazane do JSON.parse() jako argument, w związku z tym zostało "opakowane" w dodatkowe nawiasy.

Tutaj również moglibyśmy zastosować bardziej czytelne rozwiązanie:

// pobieramy tablicę zapisaną w localStorage w postaci ciągu tekstowego:
let tasksStringified = localStorage.getItem("tasks");

console.log("pobrana tablica w postaci ciągu tekstowego:", tasksStringified);

// przekształcamy ją z powrotem w JavaScriptową tablicę:
let tasksArray = JSON.parse(tasksStringified); // możemy też po prostu nazwać tasks

console.log("przekształcona z powrotem tablica:", tasksArray);

Powyższy kod jest nie tylko bardziej czytelny, ale też najprawdopodbniej bardziej zrozumiały dla Ciebie, gdyż rozbiliśmy złożoną czynność na 2 części: pobranie ciągu tekstowego i przypisanie go do zmiennej, a potem przekazanie tej zmiennej jako argumentu do JSON.parse(). No i nie mamy teraz tylu nawiasów (które nota bene mogą powodować dużą ilość błędów)!

Pobaw się tym kodem w konsoli i sprawdź, czym się różnią zmienne tasksStringified i tasksArray.

UWAGA! Po testowaniu i zabawie z kodem, usuń klucz "tasks" z localStorage za pomocą localStorage.remove("tasks"), żebyśmy mogli zacząć implementację kodu od podstaw.