如何在另一个对象中设置另一个对象JavaScript的

时间:2015-06-12 07:21:56

标签: javascript object

我不知道这个问题是否已被回答,但我还是会问。对这一个感到非常困惑,它可能很简单,但是,这里有:

我想将此已设置对象(意味着我无法访问它,只是从服务器获取它):

Object: {

    test1: 'test1',
    test2: 'test2',
    test3: 'test3'

}

to(基本上只是在其中添加另一个对象):

Object: {

    test1: 'test1',
    test2: 'test2',
    test3: 'test3',
    test4: 'test4'

}

不确定之前是否曾被问过或回答,但如果我能在这里得到答案以澄清这一点,那就太棒了。

2 个答案:

答案 0 :(得分:1)

  

基本上只是在其中添加另一个对象

你没有在里面添加一个对象;你正在添加一个属性。

有几种方法。

Object.defineProperty(myObject, 'test4', { value: 'test4 })

这将返回对象,这可能很方便。

或者,当然,只是

myObject.test4 = 'test4'

您可以使用"合并"或"延伸"许多库中的功能,如果添加多个新属性,这将非常有用:

_.extend     (myObject, { test4: 'test4' })  // Underscore
$.extend     (myObject, { test4: 'test4' })  // jQuery
Ember.merge  (myObject, { test4: 'test4' })  // Ember
Object.assign(myObject, { test4: 'test4' })  // ES6

答案 1 :(得分:1)

如果您有这样的对象:

people = {
    name: 'John Doe',
    age: 18
};

你可以这样简单地添加一个属性:

people.hairColor = 'black';

比你的人物对象更像:

people = {
    name: 'John Doe',
    age: 18,
    hairColor: 'black'
};