JavaScript - 将对象添加到对象中

时间:2016-02-29 03:41:56

标签: javascript object

我确实已经意识到这已被问过,但我无法找到问题的确切答案。

我试图在JavaScript中重新创建一个对象。原始对象如下所示:

Stock {
   Id: 'a0236000374782',
   Product { Name: 'Gum',
             Price: 2.49
           }
}

当我尝试重新创建stock对象时,我已经拥有了第一个值Id,并且我试图以某种方式将Product对象推入其中。这就是我的尝试:

var Product = {};
Stock.Product.Name = 'Gum';

然而,这返回我无法设置未定义的属性Name。 我也尝试过:

var Product = {};
stock = {Product.Name : 'Gum'};

这将返回" Uncaught SyntaxError:Unexpected token"。"。我无法弄清楚我做得不对。

3 个答案:

答案 0 :(得分:2)

不确定你在问什么,但我认为你想要这样的东西

var Stock = {
    Id: 'asdasdasd',
    Product: {
       Name: 'Gum',
       Price: '2.49'
    }
};

或者

var Stock = {
    Id: 'asdasdasd'
}

var Product = {
    Name: 'Gum',
    Price: '2.49'
}

Stock.Product = Product;

答案 1 :(得分:2)

您可以在JavaScript中轻松创建对象。

假设您已经定义了类似的股票:

var stock = { id: '1234' };

然后您可以按如下方式分配产品:

stock.product = { name: 'Gum', price: 2.49 };

这与此相同:

var product = { name: 'Gum', price: 2.49 };
stock.product = product;

但是您无法将属性分配给尚未创建的对象。所以这是不可能的:

stock.uncreatedObject.myProp = 'Will not work'; 

但这是可能的:

stock.createdObject = {};
stock.createdObject.myProp = 'This will work';

这相当于:

stock.createdObject = { myProp: 'Will Work' };

答案 2 :(得分:1)

您最初可以创建对象Product

var Product = {Name: "", Price: ""};

然后将其添加到对象Stock

var Stock = {Id: "", Product};