2015-10-23 315 views
0

我有以下对象结构:的javascript:添加对象的对象

var obj = { 
    "51523":{ 
     "firstname":"Tiki", 
     "lastname":"Pur", 
     "age":25 
    }, 
    "98741":{ 
     "firstname":"Nagasti", 
     "lastname":"Bagamba", 
     "age":20 
    } 
} 

第一 - 这种结构背后的原因。 我希望能够到内部访问的对象OBJ容易,就像这样:

obj["51523"].age = 25 

有没有添加新的对象来OBJ的一种方式?

+2

sure,obj [“11111”] = {} – juvian

回答

1

是,使用点或括号标记... obj.newObj = {}obj['12345'] = {}

点表示法

obj.newObject = { 
    "firstname": "John", 
    "lastname": "Smith", 
    "age": 30 
} 

括号标记

obj['12345'] = { 
    "firstname": "John", 
    "lastname": "Smith", 
    "age": 30 
} 
+0

或使用括号表示,如@juvian所述 – AdamJeffers

+1

的确的,谢谢guys.I接近解决这个问题,呵呵。 – user3800799

0

是,它可以在几个方面

完成
1) Obj["newobj"]={"key":"value"} 

2) Obj.newObj = {"key":"value"} 

您可以使用构造函数,如果你想创建多个对象 或可以使用的Object.create(),并添加使用1或2

0

您需要定义的obj作为一个变量,并使用点符号设置现有对象属性等于对象。

例子:

var example = true; 
example.tutorialProperty = { 
     aProperty: null, 
     aBoolean: true, 
     anInteger: 1 
} 

如果你通过他们想循环,那么你可以做一个包含多个变量对象的属性。

var example = true; 
var object_one = { 
     property: true 
} 
var object_infinity = { 
     property: true 
} 
example.objectArray = [object_one, object_infinity]; 

现在示例具有一个数组值的属性。

还有其他方法可以做到这一点,但现在应该这样做。

希望我帮了忙!