这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
当前回答
大多数答案中已经提到了两种最常用的方法
obj.key3 = "value3";
obj["key3"] = "value3";
定义属性的另一种方法是使用Object.defineProperty()
Object.defineProperty(obj, 'key3', {
value: "value3", // undefined by default
enumerable: true, // false by default
configurable: true, // false by default
writable: true // false by default
});
当您希望在定义属性时拥有更多控制权时,此方法非常有用。用户可以将定义的属性设置为可枚举、可配置和可写。
其他回答
大多数答案中已经提到了两种最常用的方法
obj.key3 = "value3";
obj["key3"] = "value3";
定义属性的另一种方法是使用Object.defineProperty()
Object.defineProperty(obj, 'key3', {
value: "value3", // undefined by default
enumerable: true, // false by default
configurable: true, // false by default
writable: true // false by default
});
当您希望在定义属性时拥有更多控制权时,此方法非常有用。用户可以将定义的属性设置为可枚举、可配置和可写。
您可以使用其中一个(前提是key3是您想要使用的实际键)
arr[ 'key3' ] = value3;
or
arr.key3 = value3;
如果key3是变量,则应执行以下操作:
var key3 = 'a_key';
var value3 = 3;
arr[ key3 ] = value3;
之后,请求arr.a_key将返回值3,即文本3。
为了给对象添加键值对,以便for In与该元素一起使用,请首先执行以下操作:
var nwrow = {'newkey': 'value' };
for(var column in row){
nwrow[column] = row[column];
}
row = nwrow;
您可以通过以下方式添加:
arr['key3'] = value3;
或者这样:
arr.key3 = value3;
只有当key3的值为“key3”时,建议使用变量key3键入对象的答案才有效。
示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:
arr.key3 = value3;