Javascript 向js对象动态添加数据

Javascript 向js对象动态添加数据,javascript,oop,Javascript,Oop,我试图使用for循环将内容添加到对象中 例如: var p={“1”:“value”,“2”:“value”,“3”:“value”} 有没有一种方法可以使用for循环将“1”、“2”、“3”及其属性(如果属性相同)添加到var p中?有两种方法可以向对象添加新属性: var obj = { }; for (var i = 1; i < 3; i++ ) { // using dot notation // obj.i = "value"; // using square brac

我试图使用for循环将内容添加到对象中

例如:

var p={“1”:“value”,“2”:“value”,“3”:“value”}


有没有一种方法可以使用for循环将
“1”、“2”、“3”及其属性(如果属性相同)添加到var p中?

有两种方法可以向对象添加新属性:

var obj = {

};

for (var i = 1; i < 3; i++ ) {
// using dot notation
// obj.i = "value"; 

// using square bracket notation
obj[i] = value3; // use this in your case

}
var obj={
};
对于(变量i=1;i<3;i++){
//使用点表示法
//obj.i=“价值”;
//使用方括号表示法
obj[i]=value3;//在您的案例中使用此选项
}

当知道键名时使用点符号,当按语法生成键时使用第二种形式,因此在您的情况下将使用方形符号

注意,第一种形式将向对象添加属性
i
,如:
obj={“i”:“value”}
。在这种情况下,应该使用括号表示法,因此可以在括号内插入表达式(在这种情况下,变量
i
),从而生成以下对象:
obj{“1”:“value”,“2”:“value”,“3”:“value”}
。更正并清除了混淆,感谢您的建议非常感谢您的建议如果我希望我的对象是var data={'1.jpg':{caption:'},'2.jpg':{caption:'},'3.jpg':{caption:'},'4.jpg':{caption:'},for循环会发生什么变化;如果1.jpg和2.jpg及其标题是使用for循环动态添加的,如果我理解正确,那么您可以执行obj[i+'.jpg']={'caption':'这是您的标题'+i};如果您的标题也需要增加,但标题也将是您可以访问的对象,如obj['1.jpg'].caption