Esto es lo que estoy tratando de construir a través de JavaScript en el punto o la notación []:asignación de valores a JSON objetos en Javascript
var shoppingCart = {
'item1' : {
'description' : 'This is item #1',
'price' : 10,
'quantity' : 1,
'shipping' : 0,
'total' : 10
}
};
Ahora bien, si 'elemento1' es el nombre de la variable itemName
.
Esto funciona:
var shoppingCart = {};
shoppingCart[itemName] = itemName;
alert(shoppingCart.item1);
que devuelve item1
Pero esto no funciona:
1 var shoppingCart = {};
2 shoppingCart[itemName]['description'] = 'This is Item #1';
JS simplemente muere en la línea 2, ¿por qué? y ¿cómo asigno el valor de la descripción a 'descripción'?
lo haría así:
var shoppingCart = {
itemName : {
'description' : description,
'price' : price,
'quantity' : quantity,
'shipping' : shipping,
'total' : total
}
};
... pero hace que la tecla literalmente itemName
en lugar de item1
.
gracias por la respuesta rápida – phpKid
También 'shoppingCart [itemName] ['description']' es equivalente a 'shoppingCart [itemName] .description'. Solo tiene que acceder a las propiedades con '[]' cuando accede de forma dinámica a 'obj [propNameString]' o cuando contiene caracteres ilegales para notaton de punto 'obj ['some-prop-name']' –
Sí, entonces eso es lo que leo en todas partes, pero la clave es 'shoppingCart [itemName] = {};' ¡Cada vez entiendo más los objetos! – phpKid