2014-04-17 3 views
0

Я хочу создать объект с несколькими ключами, которые исходят из параметра переменной. Скажем, например, что prod_id ниже представляет собой переменную, содержащую некоторое значение ... Я хочу создать объект с атрибутом с ключом этого «prod_id» и значением 1. Однако это не работает? Можно ли это достичь? если да, то как? спасибо кучиИспользование переменных для создания объекта JS

var cart_obj; 
    cart_obj = { 
    prod_id : 1 
}; 
localStorage.setItem("cart", JSON.stringify(cart_obj)); 
+1

возможно дубликат [Как добавить свойство в объект JavaScript с помощью переменной как имя?] (Http://stackoverflow.com/questions/695050/how -do-i-add-a-property-to-a-javascript-object-using-a-variable-as-the-name) –

+0

... и поиск дает нам [этот предыдущий вопрос и его ответы] (http: //stackoverflow.com/questions/695050/how-do-i-add-a-property-to-a-javascript-object-using-a-variable-as-the-name). Удивительно, что может сделать поиск. –

ответ

2

Вы не можете сделать это простым литералом объекта. Вы можете сделать это, однако:

var cart_obj = {}; 
cart_obj[prod_id] = 1; 

JavaScript литерал объект синтаксис не делает какие-либо положений для выражения на левой стороне декларации свойства строфы.

1
var cart_obj = {}; 
cart_obj.prod_id = 1; 

или

var cart_obj = {}; 
cart_obj[prod_id] = 1; 
Смежные вопросы