My Feed
Create Team Blog
Let's kick off a fresh team blog! Bring on the crew and let's get to publishing.

Create an array of objects from LocalStorage

andyshah's photo
·Apr 27, 2019

I build an array of objects in Javascript then store that in LocalStorage. I want to now rebuild that when the user returns.

So to start with:

var cartItems = {};
var items = []
cartItems.items = items;

I push, update as and when required. So I end up with an array like this:

{"items":[{"name":"Bronze Car","price":2.99,"quantity":1},{"name":"Paris Delight","price":3.99,"quantity":1},{"name":"Lamp Frost","price":5.8,"quantity":2}]}

Write to LocalStorage:

localStorage.setItem('productsInCart', JSON.stringify(cartItems));

The difficulty I am having is setting the cartItems to that above array if LocalStorage exists. I was hoping it would be like this:

if (localStorage.getItem("productsInCart") === null) {
var cartItems = {};
var items = []
cartItems.items = items;
var cartItems = JSON.parse(localStorage.getItem("productsInCart"));

Then I could just continue pushing and updating etc. But that does not work, how can I recreate the cartItems structure and set it to cartItems so I can push etc.

I would then push items to that array as objects.

var item = {
"name": name,
 "price": price,
 "quantity": quantity