Adding elements to object Adding elements to object json json

Adding elements to object


Your element is not an array, however your cart needs to be an array in order to support many element objects. Code example:

var element = {}, cart = [];element.id = id;element.quantity = quantity;cart.push(element);

If you want cart to be an array of objects in the form { element: { id: 10, quantity: 1} } then perform:

var element = {}, cart = [];element.id = id;element.quantity = quantity;cart.push({element: element});

JSON.stringify() was mentioned as a concern in the comment:

>> JSON.stringify([{a: 1}, {a: 2}])       "[{"a":1},{"a":2}]" 


With that row

var element = {};

you define element to be a plain object. The native JavaScript object has no push() method. To add new items to a plain object use this syntax:

element[ yourKey ] = yourValue;

On the other hand you could define element as an array using

var element = [];

Then you can add elements using push().


If the cart has to be stored as an object and not array (Although I would recommend storing as an []) you can always change the structure to use the ID as the key:

var element = { quantity: quantity };cart[id] = element;

This allows you to add multiple items to the cart like so:

cart["1"] = { quantity: 5};cart["2"] = { quantity: 10};// Cart is now:// { "1": { quantity: 5 }, "2": { quantity: 10 } }