这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
当前回答
示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:
arr.key3 = value3;
其他回答
可以使用{[key]:value}语法创建新对象:
常量foo={a: '键',b: '值'}常量bar={[foo.a]:foo.b}console.log(bar);//{key:“value”}console.log(bar.key);//价值常量baz={['key2']:'value2'}console.log(baz);//{key2:“value2”}console.log(baz.key2);//值2
使用前面的语法,您现在可以使用扩展语法{…foo,…bar}添加新对象,而不改变旧值:
常量foo={a:1,b:2};常量条={…foo,…{['c']:3}};console.log(bar);//{a:1,b:2,c:3}console.log(bar.c);//3.
您可以通过以下方式添加:
arr['key3'] = value3;
或者这样:
arr.key3 = value3;
只有当key3的值为“key3”时,建议使用变量key3键入对象的答案才有效。
示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:
arr.key3 = value3;
arr.key3 = value3;
因为你的arr不是一个数组。。。这是一个原型对象。真正的数组应该是:
var arr = [{key1: value1}, {key2: value2}];
但这仍然不正确。实际上应该是:
var arr = [{key: key1, value: value1}, {key: key2, value: value2}];
你可以用@IonuțG.Stan的答案创建一个类
function obj(){
obj=new Object();
this.add=function(key,value){
obj[""+key+""]=value;
}
this.obj=obj
}
使用最后一个类创建新对象:
my_obj=new obj();
my_obj.add('key1', 'value1');
my_obj.add('key2', 'value2');
my_obj.add('key3','value3');
打印对象
console.log(my_obj.obj) // Return {key1: "value1", key2: "value2", key3: "value3"}
打印密钥
console.log(my_obj.obj["key3"]) //Return value3
我是javascript新手,欢迎评论。对我有用。