Questo è quello che sto cercando di costruire tramite JavaScript nel punto o notazione []:Assegnazione di valori a JSON oggetti in Javascript
var shoppingCart = {
'item1' : {
'description' : 'This is item #1',
'price' : 10,
'quantity' : 1,
'shipping' : 0,
'total' : 10
}
};
Ora, se 'item1' è il nome della variabile itemName
.
Questo funziona:
var shoppingCart = {};
shoppingCart[itemName] = itemName;
alert(shoppingCart.item1);
che restituisce item1
Ma questo non funziona:
1 var shoppingCart = {};
2 shoppingCart[itemName]['description'] = 'This is Item #1';
JS muore alla riga 2, perché? e come posso assegnare il valore della descrizione a "descrizione"?
vorrei fare in questo modo:
var shoppingCart = {
itemName : {
'description' : description,
'price' : price,
'quantity' : quantity,
'shipping' : shipping,
'total' : total
}
};
... ma rende la chiave letteralmente itemName
invece di item1
.
grazie per la risposta rapida – phpKid
Anche 'shoppingCart [itemName] ['description']' è equivalente a 'shoppingCart [itemName] .description'. Devi solo accedere alle proprietà con '[]' quando le accedi dinamicamente 'obj [propNameString]' o quando contiene caratteri non validi per dot notaton 'obj ['some-prop-name']' –
Sì thnx, questo è quello che ho letto ovunque, ma la chiave è che 'shoppingCart [itemName] = {};' Sto capendo gli oggetti sempre di più ogni giorno! – phpKid