Question

This is what I'm trying to build via JavaScript in dot or [ ] notation:

var shoppingCart = { 
        'item1' : {
            'description' : 'This is item #1',
            'price' : 10,
            'quantity' : 1,
            'shipping' : 0,
            'total' : 10
        }
    };

Now if 'item1' is the variable name itemName.

This works:
var shoppingCart = {};
shoppingCart[itemName] = itemName;
alert(shoppingCart.item1);

Which returns item1

But this doesn't work:
1 var shoppingCart = {};
2 shoppingCart[itemName]['description'] = 'This is Item #1';

JS just dies at line 2, why? and how do I assign the description value to 'description'?

I would do it like this:

var shoppingCart = { 
        itemName : {
            'description' : description,
            'price' : price,
            'quantity' : quantity,
            'shipping' : shipping,
            'total' : total
        }
    };

...but it makes the key literally itemName instead of item1.

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top