这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
当前回答
obj['key3']=value3或obj.key3=value3将向obj添加新对。
然而,我知道没有提到jQuery,但是如果您正在使用它,可以通过$.exextend(obj,{key3:‘value3‘})添加对象。例如。:
var obj={key1:“value1”,key2:“value2”};$(“#ini”).append(JSON.stringify(obj));$.exextend(obj,{key3:“value3”});$('#ext').append(JSON.stringify(obj));<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><p id=“ini”>首字母:</p><p id=“ext”>扩展:</p>
extend(target[,object1][,objectN])将两个或多个对象的内容合并到第一个对象中。
它还允许使用$.exextend(true,object1,object2);进行递归添加/修改:
变量对象1={苹果:0,香蕉:{重量:52,价格:100},樱桃:97};变量对象2={香蕉:{价格:200},榴莲:100};$(“#ini”).append(JSON.stringify(object1));$.exextend(true,object1,object2);$(“#ext”).append(JSON.stringify(object1));<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><p id=“ini”>首字母:</p><p id=“ext”>扩展:</p>
其他回答
示例显示的是对象,而不是数组。在这种情况下,将字段添加到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新手,欢迎评论。对我有用。
实现这一目标的最佳方式如下:
function getKey(key) {
return `${key}`;
}
var obj = {key1: "value1", key2: "value2", [getKey('key3')]: "value3"};
//console.log(obj);
有两种方法可以向对象添加新的财产:
var obj = {
key1: value1,
key2: value2
};
使用点符号:
obj.key3 = "value3";
使用方括号表示法:
obj["key3"] = "value3";
当您知道属性的名称时,将使用第一种形式。当动态确定属性的名称时,使用第二种形式。如本例所示:
var getProperty = function (propertyName) {
return obj[propertyName];
};
getProperty("key1");
getProperty("key2");
getProperty("key3");
一个真正的JavaScript数组可以使用以下任一方法构建:
数组文字表示法:
var arr = [];
Array构造函数表示法:
var arr = new Array();